#はじめに
SDKをローカルに持ってきてゴニョるサンプルは検索に引っかかるのですが、
クラウド側(Lambda関数内部)で完結するサンプルが見つからない...
よし、ならば投稿してしまえ。
トップ ←イマココ
├ユーザー作成
├ユーザー確認
├ユーザー認証
└ユーザー認可 ※Lambdaで認可する方法を解説します。
※メインはLambda関数のコードの紹介です。付随する情報は簡潔に記します。
#概要
ローカルにダウンロードしたSDKを使うのではなく、
クラウド側で用意されているSDKを使ってCognito認証しよう。
というのが今回のコンセプトです。
↓こちらを使います。
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html
##Cognito
- ユーザープールを作成する。
※必須属性は任意。 - 全般設定>アプリクライアント からアプリクライアントを作成する。
※認証フローは"ALLOW_USER_PASSWORD_AUTH"を選択する。
##Lambda
- Lambda関数を作成する。
※ランタイムはNode.jsの最新版を選択する。 - Cognitoのポリシーをアタッチする。
※とりあえずは「AmazonCognitoPowerUser」だけでOK。必要に応じて取捨選択を。 - 関数コードを書く。詳細は各ページにて。
- ユーザー作成
- ユーザー確認
- ユーザー認証
- ユーザー認可
##API Gateway
- "REST API" または "HTTP API"を作成する。
※REST APIの場合は、Lambdaプロキシ統合を使用する。 - 先に作成したLambda関数を、統合先に指定する。
※REST APIの場合は、デプロイを忘れずに。