Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016...

24
Cognito User Pools!! かかかJAWS-UG Osaka 15 かかかか AWS Summit Tokyo 2016 かかか かかかかかかかか かか かか

Transcript of Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016...

Page 1: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools!!からの~

JAWS-UG Osaka

第 15 回勉強会

AWS Summit Tokyo 2016 アップデート追っかけ会 山下 光洋

Page 2: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

自己紹介

山下光洋

@yamamanx

Blog : www.yamamanx.com

・ソフトウェア開発会社で IBM さんの BP・ナイトレジャー会社で情シス

・エネルギー会社で情シス  ←今ココ

好きな AWS サービス : RDSJAWS-UG OSAKA , JAWS-UG IoT 関西支部 コアメンバー

kintoneCafe,TwilioJP-UG,DevLOVE 関西 ,RxTStudy などに出没してます。

緑の Lv14The 八番街 Bass   AppleMusic,LINE MUSIC,AmazonMusic,AWA, レコチョク ,GooglePlay などで配信中

Page 3: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

毎日呑んでます。 今日も乾杯!!

Page 4: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

【パネルディスカッション】 AWS 初心者が絶対に通る道~そして伝説へ~パネラーさせていただきました。 YouTube 公式公開中。

Page 5: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools

Page 6: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools ・アイデンティティプロバイダ (Amazon,Facebook,Google,Twitter,,,) を使わない独自のユーザディレクトリを簡単に作成出来る

・モバイル (iOS,Android) と Web アプリに簡単にユーザサインアップとサインインを追加

・数億ユーザまでスケール可能

・ email による確認、電話番号による確認や多要素認証

・パスワード通信では Secure Remote Password (SRP) を利用

Page 7: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  設定を見てみます

新規ユーザーサインアップ時に登録必須の属性を決める設定です。

デフォルトのまま E メールのみとしています。

Page 8: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  設定を見てみます

パスワードポリシーです。数字が含まれて 8 文字以上なら OK にしています。

Page 9: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  設定を見てみます

登録時にメールに認証のためのコードを送るように、デフォルトでなっていますのでそのままにしています。

Page 10: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  設定を見てみます

今回設定はしていませんが、サインアップ時、認証時に、独自の処理をlambda で追加する事も出来ます。

Page 11: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみますAWS.config.region = 'us-east-1'; AWS.config.credentials = new AWS.CognitoIdentityCredentials({

IdentityPoolId: 'us-east-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',});

AWSCognito.config.region = 'us-east-1';AWSCognito.config.credentials = new AWS.CognitoIdentityCredentials({

IdentityPoolId: 'us-east-1:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'});var poolData = {

UserPoolId : 'us-east-1_xxxxxxxxxxxxx,ClientId: 'xxxxxxxxxxxxxxxxxxxx'

};var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);

サインアップ、アクティベーション、ログインをやってみます。上記は共通のコードです。Identity の ID と UserPool の ID と UserPool で設定した App のクライアント ID を設定します。※amazon-cognito-identity.js を使用します。 ( 詳しくはブログで )

Page 12: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみます

var dataEmail = {Name : 'email',Value : $('#email').val()

};var attributeEmail = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute(dataEmail);var attributeList = [];attributeList.push(attributeEmail);userPool.signUp($('#email').val(), $('#password').val(), attributeList, null, function(err, result){

if (err) {// エラー処理return;

}// 成功処理 ( メッセージなど )

});

メールアドレスとパスワードを入力して、サインアップを行います。

Page 13: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみます

サインアップをすると、 User Pools で設定していたとおりに、verification code がメールで届きます。この時点で Cognito の Users にユーザーが登録されますが、まだ「 Unconfirmed 」です。

Page 14: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみます

var userData = {Username : $('#actemail').val(),Pool : userPool

};var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);cognitoUser.confirmRegistration($('#actcode').val(), true, function(err, result) {

if (err) {// エラー処理return;

}// 成功処理 ( メッセージなど )

});

verification code を入力して認証を完了します。

Page 15: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみます

Cognito の Users で「 Confirmed 」となりました。ユーザー登録完了です。

Page 16: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみます

var authenticationData = {Username : $('#loginemail').val(),Password : $('#loginpassword').val()

};var authenticationDetails = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails(authenticationData);var userData = {

Username : $('#loginemail').val(),Pool : userPool

};var cognitoUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser(userData);cognitoUser.authenticateUser(authenticationDetails, {

onSuccess: function (result) {// 成功処理 ( デモでは画面にトークンを書き出してみてます )$('#token').html('access token : ' + result.getAccessToken().getJwtToken());

},onFailure: function(err) {

// エラー処理 ;},

});

メールアドレスとパスワードでログインします。

Page 17: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

Cognito User Pools  デモを見てみます

ログイン成功です!!トークンも返っています。

Page 18: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

からの~

Page 19: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

QuickSight

Page 20: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

QuickSight

残念ながらまだ今日2016/6/15 時点ではプレビュー公開です。

Page 21: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

QuickSight ちょっとだけ DEMO

Page 22: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

まとめ

Page 23: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

まとめ  Serverless Architectureサーバーを作らなくてもアプリケーションが動かせるのです。サーバーを作らなくてもサービスが提供出来るのです。サーバーを作るための稟議が要らないのです。サーバーを作るための設計打ち合わせが要らないのです。

今まで時間をかけていた面倒な調整がもう要らないのです!

今まで握り潰されていた事がもう握りつぶされなくなったのです!

より良いソフトウェア開発を !!!!

Page 24: Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っかけ会)

ご清聴ありがとうございました。

Special Thanx to…..