LoginSignup
2
1

More than 3 years have passed since last update.

AWS CognitoにLogin with Amazonアカウントを追加する

Last updated at Posted at 2020-09-06

これまでの投稿で、Cognitoに、GoogleやLINE、Yahooのアカウントを追加しましたが、Amazonアカウントも追加しておきます。
備忘録として残しておきます。

これまでの投稿
 AWS CognitoにGoogleとYahooとLINEアカウントを連携させる

Cognitoのドメイン名をメモっておく

とりあえず、Cognitoのユーザプールを開き

AWS管理コンソール:Cognito
 https://ap-northeast-1.console.aws.amazon.com/cognito/users/?region=ap-northeast-1

連携させたいUserPoolを選択し、左側のナビゲーションからアプリの統合のドメイン名を選択します。

image.png

そこで表示される、ドメインのプレフィックスのところのURLを覚えておきます。
こんな感じ
 https://XXXX.auth.ap-northeast-1.amazoncognito.com

Login with Amazonコンソールからセキュリティプロファイルを作成

以下のサイトを開きます。

Login with Amazonコンソール
 https://developer.amazon.com/loginwithamazon/console/site/lwa/overview.html

image.png

「セキュリティプロファイルを新規作成」ボタンを押下します。

image.png

適当に入力します。さすがにプライバシー規約同意書URLは存在するURLじゃないといけないようです。

次に、トップに戻って、右側の歯車ボタンにマウスを当て、「ウェブ設定」を開きます。

image.png

編集ボタンを押して、許可された返信URLのところに、先ほどCognitoの画面からメモったドメイン名を入力します。以下のように入力します。

 https://XXXX.auth.ap-northeast-1.amazoncognito.com/oauth2/idpresponse

ついでに「シークレットを表示」ボタンを押下します。
表示された、クライアントIDとクライアントシークレットを覚えておきます。

CognitoにLogin with Amazonの設定をする

Cognitoの画面で、フェデレーションのIDプロバイダを選択します。
そして、Login with Amazonを選択します。

image.png

ここで、Amazon アプリIDのところに、先ほど覚えたクライアントID、アプリシークレットのところに先ほど覚えたクライアントシークレットを入力します。
承認スコープには、profileを入力します。
保存します。

次に、左側のナビゲーションから、フェデレーションの属性マッピングを選択します。Amazonを選択します。

image.png

emailを選択状態にし、ユーザープール属性をEmailにします。
ちなみに、この属性マッピングの設定は、ユーザプールの必須の属性としてemailを必須としていた場合に必要な設定です。

最後に、Login with Amazonでログインしようとしているアプリクライアントの有効なIDプロバイダとしてLoginWithAmazonを選択しておきます。

image.png

これで、設定は完了です。

Amazonアカウントでログインしてみる

これで、さきほどのCognitoのアプリクライアントでログインすると、選択肢にAmazonが増えています。

image.png

選択すると、Amazonのページに飛んでログインを促されます。

image.png

ログインが完了すると、選択したresponse_typeによって、認可コードかアクセストークンが返ってきて認証完了となります。

Cognitoのユーザを見ていると、接頭辞でLoginWithAmazon_と付いたユーザが増えているのがわかります。

image.png

以上

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1