対象
目的
やってみる
前提
- 機能を理解するのが目的なので、terraformは使わずにAWSコンソールからポチポチ
- ローカル環境はMac
準備
$ brew install yarn
AWS Amplifyとは?
- AWSを利用するWebアプリケーション向けのJavaScriptライブラリ
これまでCognitoを利用したWebアプリケーションを開発する場合、複数のライブラリ(Amazon Cognito Identity SDK for JavaScript+AWS SDK for JavaScript)を読む必要があり少し冗長な面がありましたが、AWS Amplifyを使うとその複雑さから解放されます。
AWS Amplifyでできること
- Auth
- Amazon Cognito利用時に必要なAWS署名バージョン4プロトコル(AWS Signature Version 4 Signing)に準拠した認証処理 ← キタコレ
- Analytics
- API
- Storage
- Caching
- i18n and Logging
Reactアプリを作ってみる
Cognito User Poolsの準備
Webアプリケーションの実装
- create-react-appを使ってReactアプリの雛形を作る
$ yarn global add create-react-app
$ create-react-app amplify-react-sample
$ cd amplify-react-sample
command not found
になったらPATHを指定して実行するか create-react-app
にPATHが通っていなかったらPATHを通しておく
$ /usr/local/bin/create-react-app amplify-react-sample
$ yarn start
http://localhost:3000/
にアクセス
- AMplifyライブラリとAmplifyのReact拡張ライブラリをインストール
$ yarn add aws-amplify aws-amplify-react
動かしてみる
$ yarn start
http://localhost:3000/
にアクセスで画面が出た!
インポートしている Authenticator は、サインインやサインアップといったユーザー認証周りの処理を画面遷移も含めて丸ごと詰め込まれたReactコンポーネント
とのことなので、Reactがやってくれてるのかな・・・?
- SignUpしてみる
- Cognito User Pool確認
- SignInしてみる
- SignIn状態になった!
- あれ、すげぇ簡単じゃね?
感想とまとめ
- AngularJSでガリガリ書いていたのが一瞬で実装できてしまった・・・
- 簡単すぎて何が起こっているかわからなかった・・・
- とりあえず、すごい簡単というのがわかったのでOK!とする!!!