Serverless FrameworkでCognitoを使ってユーザ管理するサンプル
(Alexaからユーザ個別の情報を取って来るシステムとして作成。Alexa側の処理はこちら)
- 設定
- インストール
- AWS CLI
- node.js
ローカルにcloneしたプロジェクトかzipを展開して配置します。以降の作業は、カレントディレクトリを(serverless-sample)とします
$ npm install -g serverless
$ npm install
$ sls dynamodb install
$ cp conf/config.sample.json conf/config.dev.json
conf/config.dev.json
を修正します
REGION
: リージョンを指定しますUSER_POOL_ID
: プールIDを指定しますCLIENT_ID
: アプリクライアントIDを指定しますONLY_API_GATEWAY
: Amazon API Gatewayを直接使用する場合、true
/ Amazon CloudFront を組み合わせて使用する場合、false
を指定します
https://cognito-idp.{`リージョン`}.amazonaws.com/{`プールID`}/.well-known/jwks.json にアクセスし、取得したJSONをconf/jwks.json
として保存してください
$ sls offline start
http://localhost:3000/ で参照できます(http://localhost:8000/shell/ にアクセスするとローカルのDynamoDBにアクセスできます)
$ sls deploy -v
コマンドの結果、
...
ServiceEndpoint: https://xxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev
...
のように表示されるので、アクセスするとログイン画面が表示されます(Amazon CloudFrontを組み合わせて使用する場合は別途設定してください)
Copyright (c) 2017 Kazumune Katagiri