#はじめに
SDKをローカルに持ってきてゴニョるサンプルは検索に引っかかるのですが、
クラウド側(Lambda関数内部)で完結するサンプルが見つからない...
よし、ならば投稿してしまえ。
トップ
├ユーザー作成
├__ユーザー確認 ←イマココ__
├ユーザー認証
└ユーザー認可
#ユーザー確認 (ConfirmSignUp)
作成したユーザーの連絡手段(メールアドレスor電話番号)が有効か確認します。
通知された確認コードが正しければ、ユーザーのアカウントステータスを「CONFIRMED」にします。
##ソースコード
'use strict';
const AWS = require('aws-sdk');
const cognito = new AWS.CognitoIdentityServiceProvider();
/**
* ConfirmSignUpする
* @param {string} userId ユーザーのメールアドレスor電話番号
* @param {string} confCode ユーザーに通知した確認コード
* @returns {Promise<Object>} HTTPレスポンス 200 OK
*/
module.exports = async (userId, confCode) => {
// ConfirmSignUpのパラメーター
const params = {
ClientId: '{アプリクライアントID}', // ユーザープールの 全般設定>アプリクライアント で確認する
Username: userId,
ConfirmationCode: confCode,
};
// ConfirmSignUp実行
const result = await cognito.confirmSignUp(params).promise().catch(error => {
// 必要に応じて例外処理を追加する。
// 例えば、確認コード不一致の例外は→「error.code == 'CodeMismatchException'」
throw error;
});
// HTTPレスポンス 必要に応じて編集する。
return {
statusCode: 200,
};
};