AWS
CognitoUserPools

Cognito User Poolsのフェデレーションを試してみた

More than 1 year has passed since last update.

Cognito User PoolsがSAML、Google、Facebook、Amazonとの間でフェデレーションできるようになりました。
早速iOSからLogin with Amazonとのフェデレーションを試してみました。

準備

Cognito User Poolsのサインアップ・サインイン画面をiOSで試してみた
の続きとなります。他下記アカウントが必要です。

  • Login with Amazonのアカウント
  • Amazon(ECサイトの方)のアカウント

作業概要

  1. Login with Amazonにアプリを登録
  2. User Poolの設定
  3. Login with Amazonに登録したアプリの設定
  4. iOSアプリ実行

1. Login with Amazonにアプリを登録

  1. 下記サイトにログインする

  2. アプリを登録する
    registerapp.png

  3. アプリのClient IDとClient Secretを確認する
    websetting.png

補足
アプリの登録は簡単でしたが、アプリの削除方法はわかりませんでした。

2. User Poolの設定

  1. AWSマネジメントコンソールにログインし、[Cognito]-[User Pools]-[該当のUser Pool]-[Federation]-[Identity providers]を選択し、下記のように設定
    identityprovider.png

  2. [App Integration]-[App client settings]を選択し、Enabled Identity providersのLoginWithAmazonをチェック
    selectall.png

3. Login with Amazonに登録したアプリの設定

  1. Login with Amazonに戻り、Allowed Return URLsを設定 websetting2.png

ドメイン部分は、User PoolのApp IntegrationのDomainと一緒になります。

4. iOSアプリ実行

  1. ログイン画面
    Continue with Login with Amazonをクリック
    login_first.png

  2. Login with Amazonのログイン画面へ遷移
    Email/passwordを入力して、Sign inをクリック
    login_amazon.png

  3. 確認画面へ遷移
    login_amazon2.png

補足
下記のようにEnabled Identity providersのCognito User Poolをチェックを外すと、直接Login with Amazonのログイン画面へ遷移します。
selectamazononly.png

雑感

Azureも捨てがたいけど、なんか全部Amazon(AWS)でいい気がしてきた。。。。