Cognito User PoolsがSAML、Google、Facebook、Amazonとの間でフェデレーションできるようになりました。
早速iOSからLogin with Amazonとのフェデレーションを試してみました。
準備
Cognito User Poolsのサインアップ・サインイン画面をiOSで試してみた
の続きとなります。他下記アカウントが必要です。
- Login with Amazonのアカウント
- Amazon(ECサイトの方)のアカウント
作業概要
- Login with Amazonにアプリを登録
- User Poolの設定
- Login with Amazonに登録したアプリの設定
- iOSアプリ実行
1. Login with Amazonにアプリを登録
- 下記サイトにログインする
- アプリを登録する

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

補足
アプリの登録は簡単でしたが、アプリの削除方法はわかりませんでした。
2. User Poolの設定
- AWSマネジメントコンソールにログインし、[Cognito]-[User Pools]-[該当のUser Pool]-[Federation]-[Identity providers]を選択し、下記のように設定

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

3. Login with Amazonに登録したアプリの設定
- Login with Amazonに戻り、Allowed Return URLsを設定

ドメイン部分は、User PoolのApp IntegrationのDomainと一緒になります。
4. iOSアプリ実行
- ログイン画面
Continue with Login with Amazonをクリック

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


補足
下記のようにEnabled Identity providersのCognito User Poolをチェックを外すと、直接Login with Amazonのログイン画面へ遷移します。
雑感
Azureも捨てがたいけど、なんか全部Amazon(AWS)でいい気がしてきた。。。。