CognitoのAccessTokenを取得
背景
Cognitoでは、AccessToken、IDToken、RefreshTokenを取得できる。ここでサーバ側でAccessTokenの中身を使用してセッション管理に利用することができないか?
実装
Cognito User Poolでユーザを作成する。
作成画面については別途サーバで構築した管理画面で実施
(APIGateway+Lambdaと S3に設置したViewでもOK:サーバレスで作成すると恐らく月額数円)
UserPoolでランクの属性を追加
認証が行われると3つのトークンが払い出される。今回はIDトークンを使用してセッション管理を行う。
トークン名 | 内容 |
---|---|
IDトークン | name,emailなど認証されたユーザ情報が入る |
アクセストークン | 認証されたリソースへのアクセスを付与 |
更新トークン | 新しい ID またはアクセストークンの取得に必要な情報が含まれる |
IDトークンはJWTなので下記のようなトークンをクライアント側に返すので必要な要素をセッションやCookieに格納するなどの処理を行う。ここでカスタム属性を設定した場合は、下記の情報にカス
タム属性が付与される。
ちなみにJWTはbase64-encodedされたJSONこのあたりは次の「検証方法」に詳細な記載がある。
{
"sub": "aaaaaaaa-bbbb-cccc-dddd-example",
"aud": "xxxxxxxxxxxxexample",
"email_verified": true,
"token_use": "id",
"auth_time": 1500009400,
"iss": "https://cognito-idp.ap-southeast-2.amazonaws.com/ap-southeast-2_example",
"cognito:username": "anaya",
"exp": 1500013000,
"given_name": "Anaya",
"iat": 1500009400,
"email": "[email protected]"
}
検証方法
Author And Source
この問題について(CognitoのAccessTokenを取得), 我々は、より多くの情報をここで見つけました https://qiita.com/Macaron_Suke/items/213f45f3edc41d4d1bfe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .