#はじめに
SDKをローカルに持ってきてゴニョるサンプルは検索に引っかかるのですが、
クラウド側(Lambda関数内部)で完結するサンプルが見つからない...
よし、ならば投稿してしまえ。
トップ
├__ユーザー作成 ←イマココ__
├ユーザー確認
├ユーザー認証
└ユーザー認可
#ユーザー作成 (SignUp)
通知されたIDとパスワード(とその他の情報)でユーザーアカウントを作成します。
続けて、登録したメールアドレスor電話番号に確認コードを通知します。
##ソースコード
'use strict';
const AWS = require('aws-sdk');
const cognito = new AWS.CognitoIdentityServiceProvider();
/**
* SignUpする
* @param {string} userId ユーザーのメールアドレスor電話番号
* @param {string} userPassword ユーザーのパスワード
* @returns {Promise<Object>} HTTPレスポンス 200 OK
*/
module.exports = async (userId, userPassword) => {
// SignUpのパラメーター
const params = {
ClientId: '{アプリクライアントID}', // ユーザープールの 全般設定>アプリクライアント で確認する
Username: userId,
Password: userPassword,
UserAttributes: [
{Name: '{属性名1}', Value: '{属性値1}'}, // 必要に応じて増減する。
{Name: '{属性名2}', Value: '{属性値2}'}, // ユーザープールの 全般設定>属性 の
{Name: '{属性名3}', Value: '{属性値3}'}, // 標準属性とカスタム属性が該当する。
{Name: '{属性名4}', Value: '{属性値4}'}, // 必須指定したものは、もちろん必須。
],
};
// SignUp実行
const result = await cognito.signUp(params).promise().catch(error => {
// 必要に応じて例外処理を追加する。
// 例えば、IDが重複したときの例外は→「error.code == 'UsernameExistsException'」
throw error;
});
// HTTPレスポンス 必要に応じて編集する。
return {
statusCode: 200,
};
};