OAuth2、OpenID、またはSSOで動作するAWS Cognitoの設定をお持ちの方はいらっしゃいますか?

AWS Cognito を OpenID Connect プラグイン の ID プロバイダーとして使用する手順

  1. AWS Cognito コンソール内の「Create a User Pool」ボタンをクリックします。
  2. 「Review Defaults」をクリックして、ほぼデフォルト設定を使用します。
    2a. プールを作成する前に、「Add an App Client」をクリックしてください。
    2b. App Client を作成します。名前を付け、Enable refresh token based authentication (ALLOW_REFRESH_TOKEN_AUTH) 以外は何もチェックを外します。


3. 「Create pool」をクリックします。
4. 左側のメニューの「General Settings」の下にある「App Client」をクリックし、App client idApp client secret の値をメモしてください。
5. 次に、左側のメニューの「App integration」の下にある「Domain name」をクリックします。ここにサブドメインを入力します。ここに入力した名前が、ユーザーがログイン時にリダイレクトされるドメインになります。

6. AWS Cognito コンソールの左上にある「Federated Identities」をクリックします。少し見つけにくい場所にあります。
federated-identities
7. 表示されたら、Create new identity pool をクリックします。
8. 識別プールに名前を付けます。
8b. Authentication providers セクションで、以前作成した User Pool の User Pool ID と、以前作成した App Client の App client ID を使用します。


9. 「Create Pool」をクリックし、コンソールが新しい識別プールで使用するための IAM ロールを作成できるようにします。
10. これで、プラグインをインストール済みであれば、Discourse インスタンスを正しいサイト設定でセットアップするために必要なほぼすべての情報が揃っています。

openid connect enabled: これを有効にします
openid connect client id: 前述のステップで取得した App Client Id を使用します
openid connect client secret: 前述のステップで確認した App Client Secret を使用します
openid connect discovery document: 発見ドキュメント URL のリンクは以下の形式に従います。userPoolId の形式は、ステップ 8b のスクリーンショットでご確認ください。

https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/openid-configuration

URL 形式が正しいか確認するには、ブラウザに貼り付けてみてください。認証エンドポイント、イシュア、その他の情報が含まれた JSON が返ってくるはずです。

openid connect authorize scope: openid email


その他参考になる情報

「いいね!」 7