Help us understand the problem. What is going on with this article?

LambdaでCognito認証

はじめに

SDKをローカルに持ってきてゴニョるサンプルは検索に引っかかるのですが、
クラウド側(Lambda関数内部)で完結するサンプルが見つからない...
よし、ならば投稿してしまえ。

トップ ←イマココ
ユーザー作成
ユーザー確認
ユーザー認証
ユーザー認可 ※Lambdaで認可する方法を解説します。

※メインはLambda関数のコードの紹介です。付随する情報は簡潔に記します。

概要

ローカルにダウンロードしたSDKを使うのではなく、
クラウド側で用意されているSDKを使ってCognito認証しよう。
というのが今回のコンセプトです。

↓こちらを使います。
https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html

001.png
002.png

Cognito

  1. ユーザープールを作成する。
    ※必須属性は任意。
  2. 全般設定>アプリクライアント からアプリクライアントを作成する。
    ※認証フローは"ALLOW_USER_PASSWORD_AUTH"を選択する。

Lambda

  1. Lambda関数を作成する。
    ※ランタイムはNode.jsの最新版を選択する。
  2. Cognitoのポリシーをアタッチする。
    ※とりあえずは「AmazonCognitoPowerUser」だけでOK。必要に応じて取捨選択を。
  3. 関数コードを書く。詳細は各ページにて。
    1. ユーザー作成
    2. ユーザー確認
    3. ユーザー認証
    4. ユーザー認可

API Gateway

  1. "REST API" または "HTTP API"を作成する。
    ※REST APIの場合は、Lambdaプロキシ統合を使用する。
  2. 先に作成したLambda関数を、統合先に指定する。
    ※REST APIの場合は、デプロイを忘れずに。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした