概要
Cognitoのユーザプール認証で発行されたトークンとAPIGatewayのオーソライザーを使ってAPIに認証を掛ける。
流れ
- Cognitoのユーザプール認証でトークン発行
- APIGatewayにオーソライザー登録
- APIGatewayのメソッドにオーソライザーを設定
- リクエストを投げる時はヘッダに発行されたトークンを設定する
Cognitoのユーザプール認証でトークン発行
Cognitoのユーザプールでの認証するところまでを最速でやる 参照
APIGatewayにオーソライザー登録
APIGatewayから以下の通り入力
- 赤枠は素直にクリック&入力
- 緑枠は認証で使用したユーザプールを選択すること(サジェストが出るので間違えないと思うけど。。)
- 青枠はリクエストが投げられた時、どのヘッダを使って認証するかの設定(基本、Authorization でいい気がします)
APIGatewayのメソッドにオーソライザーを設定
APIGatewayから適当にメソッドまで生成し、メソッドリクエストの設定で認可を設定する。
リクエストを投げる時はヘッダに発行されたトークンを設定する
※認証で取得したIDトークン = cognitoUser.signInUserSession.idToken.jwdTokenの値
Authorizationヘッダに認証で取得したIDトークンを付与しないと↓
ResponseBody
{
"message": "Unauthorized"
}
※ステータスは401
Authorizationヘッダに認証で取得したIDトークンを付与すると200 OK