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


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. アプリを登録する

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

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

2. User Poolの設定

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

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

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

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

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

4. iOSアプリ実行

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

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

  3. 確認画面へ遷移

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

雑感

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