APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【AWS】Amazon Cognito ユーザープール OIDCプロバイダー設定

目次

はじめに

こんにちは、クラウド事業部の上村です。
CognitoユーザプールとOIDC連携設定をやってみようとおもいます。

前準備

・auth0 無料プラン

UserPoolの作成

まずはUserPoolを作成します。

カスタムドメイン設定

こちらは必須ではないですが、カスタムドメインを試したいのでこちらも設定していきます。
事前にRoute53に下記を設定しております。
・ホスト名 example.com
・レコード名 example.com Aレコード エイリアス CloudFrontのDNS(xxx.cloudfront.net)
・バージニアリージョンに、example.com *.example.com のACM証明書発行

今回は、推奨されているサブドメインとして auth を利用しています。
また親ドメイン(example.com)には、Aレコードを設定しておく必要があります。
ドメイン設定から、カスタムドメインを作成 を行います。

作成が完了すると、エイリアスターゲットが発行されます。

Route53にCNAMEで登録します。

設定が完了したので、マネージドログイン画面で確認してみます。

カスタムドメインの設定がうまくいっていますね。
こちらをエンドポイントとして利用していきます。

auth0設定

アプリケーション設定を進めていきます。
まずはアプリケーションを作成します。

作成が完了したら、アプリケーション設定を進めます。
カスタムドメインを未設定の場合は、Cognitoドメイン(https://[cognitoexample].auth.[region].amazoncognito.com)に置き換えて設定してください。
設定の際は、下記のようにエンドポイントを指定してください。 例: https://auth.example.com/oauth2/idpresponse

基本情報に記載されている下記を控えておきます。
・ドメイン
・クライアントID
・クライアントシークレット

ユーザー管理からユーザ作成を行います。

userpool設定

ソーシャルプロバイダーと外部プロバイダー から アイデンティティプロバイダーを追加を行っていきます。
クライアントID クライアントシークレット 発行者URL(ドメイン)は先ほど控えた情報を入力します。

アプリケーションクライアント設定からマネージドログインページの設定を変更します。
これでマネージドログイン画面に先ほど設定したIDプロバイダーが表示されます。

動作確認

動作確認をやっていきます。
先ほどのマネージドログイン画面の設定にログインページを表示とあるのでログインページに行きます。

Auth0に登録したユーザログイン情報を入力します。

ログインに成功した場合は、マネージドログインページの設定の 許可されているコールバックURL のページに遷移します。
その後、ユーザーを確認すると外部ユーザーとしてAuth0のユーザーが登録されていることが確認できます。

まとめ

今回はOIDCプロバイダー設定を紹介いたしました。
属性マッピング設定などはデフォルトで進めましたが、カスタマイズすることで様々な属性情報を取得することも可能です。
Lambdaトリガーと組み合わせた利用例も紹介したかったのですが時間がなかったので、別途記事にしたいと思います。

お知らせ

APCはAWS Advanced Tier Services(アドバンストティアサービスパートナー)認定を受けております。

その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
www.ap-com.co.jp

https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp