ヤマムギ

growing hard days.

*

Amazon Cognito User Poolsのデモをしてみました

   

AWS Summit 2016 Tokyoのアップデートおっかけ会をJAWS-UG大阪でやるという事で、AWS Summit Tokyoでの発表ではなかったですが、AWS Summit CicagoのアップデートのCognito User Poolsのデモをしてみました。

環境作りのメモを残させていただきます。

参考(写経?)にさせていただいたサイト様

ありがとうございます!
感謝感謝でございます。

Developers.IO様
[新機能] Amazon Cognito に待望のユーザー認証基盤「User Pools」が追加されました!

horike37様
Amazon Cognito User Poolsを使って、webサイトにユーザ認証基盤を作る

Cognito User Poolsの設定

それでは、参考にさせていただきまくってはおりますが、設定手順などを書き残させていただきます。

Cognito-1

マネージメントコンソールからCognitoに行って、[Manage your User Pools]を選択します。

cognito-2

2016/6/19時点ではバージニア北部リージョンでしか使えないので、それ以外のリージョンを選択している場合は、[Switch to US East(Virginia)]ボタンが表示されるので押します。

Cognito-3

無事、バージニア北部リージョンに切り替わったら[Create a User Pool]を押してUser Poolの作成を開始します。

Cognito-4

Poolの名前を設定します。

Cognito-5

サインアップの際に必須にしたいユーザー属性(複数可)を選びます。
カスタム属性を作成する事も出来ます。

Cognito-6

パスワードポリシーを設定します。
最低文字数、数字、記号、大文字、小文字を含めるかを決めます。

Cognito-7

他要素認証を設定するかを決めます。
属性でEメールのみとしているので電話は設定出来なかった?ようです。
電話での認証もまた試してみますが、Verificationでメールでコードが飛ぶようにだけ、そのままの設定にしておきます。

Cognito-8

アプリの名前を設定します。

Cognito-9

設定内容が表示されるので確認して作成します。

Identity Poolの作成

続いて[Manage Federated Identities]-[Create new Identity pool]を押してIdentity poolを作成します。

Cognito-B-1

  • Identity poolの名前を設定します。
  • (今回はDEMO用のWebクライアントから使うので)「Enabale access to unauthenticated identities」にチェックを入れます。
  • Authentication providersで[Cognito]を選択します。
  • User Pool ID , App Client IDにCognito User Poolsで生成したそれぞれのIDを設定します。

Cognito-B-2

ロールはデフォルトのままで新規作成します。

デモ用Webクライアント

とりあえずDemoなのでindex.htmlに全部まとめてしまいました。

コード全部はGitHubに置いてますのでこちらをご参照ください。
GitHub – CognitoUserPoolsDemoWebClient

準備

amazon-cognito-identity-jsを使わせていただきます。

amazon-cognito-identity-jsのSetupに書いてますが、じゃっかん戸惑いましたので記載します。

あと、Demoなのでライブラリは全部index.htmlと同じディレクトリに置いてます。

  1. aws-sdk.jsをダウンロードしてindex.htmlと同じディレクトリに配置します。ついでにaws-cognito-sdk.jsも。

  2. jqueryを落として置くか、どこかから読み込むかします。

  3. RSA and ECC in JavaScriptからjsbn.jsとjsbn2.jsをダウンロードしてindex.htmlと同じディレクトリに配置します。

  4. Stanford JavaScript Crypto Libraryは[compile new version]を使うとログインのところでエラーとなるのでsjcl.js.zipをダウンロードしてindex.htmlと同じディレクトリに配置しました。

  5. moment.jsをダウンロードしてindex.htmlと同じディレクトリに配置します。

共通のん

  • configにリージョンとIdentity poolのIDを設定しています。
  • poolData にUser Poolで生成したUser poolのIDとクライアントIDを設定しています。

サインアップ

slide-5

slide-6

サインアップするとVerificationの設定のとおり、メールが届きます。

slide-8

この時点ではまだ「Unconfirmed」です。

アクティベーション

slide-7

slide-9

「Confirmed」になりました。

ログイン

slide-10

slide-11

ログイン成功です!!!


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

AWS EC2 インスタンスステータスのチェックで失敗して起動しなくなり復旧

EC2のインスタンスに接続出来なくなったので、AMIから作成してElastic …

RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもできるようになってました

RDSスナップショットをS3にエクスポートする新機能を試そうかと思ったのときは、 …

EC2インスタンスの起動で、–cli-input-jsonと–cli-input-yamlを使いました

AWS CloudShellから実行しました。 JSON実行 [crayon-6 …

AWS認定試験の自宅受験で壁のポスターを注意されちゃいました

AWS認定オンライン受験をしてみましたに書きましたとおり、自宅受験デビューしまし …

X-Ray SDK for Python でライブラリへのパッチ適用

boto3でのAWS呼び出しとrequestsでの外部API呼び出しにパッチ適用 …

Lambda関数で自分自身の環境変数を更新する

Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

AWS CodeStarで静的webサイトのテンプレートプロジェクトを作成する

執筆環境の検討中です。 CodeCommitは使うつもりで、コミットしたときにE …

AWS Lambda(Python)で生成した文字をAmazon Connectで音声を設定して発信する

Amazon Connectから発信する電話の音声を動的に設定します。 Lamb …

AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録

日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …