1
0

More than 3 years have passed since last update.

AWS AmplifyのチュートリアルでReactアプリでCognitoを使って認証機能を追加する

Posted at

いつも忘れないように、コンセプトから。

コンセプト

・お金かけてまでやりたくないのでほぼ無料でAWSを勉強する
 →ちょっとしたサービスを起動すると結構高額になりやすい。
・高いレベルのセキュリティ確保を目指す
 →アカウントを不正に使われるととんでもない額を請求されるので防ぐ

前々回の「AWSサーバーレスのWebアプリケーションをもっと勉強する」と前回の「AWSサーバーレスのWebアプリケーションをもっと勉強する(その2)」の続きになります。
今回のチュートリアルはこちら↓
https://docs.amplify.aws/start/getting-started/auth/q/integration/react#create-login-ui

認証機能を追加する

まずはAmplifyに認証機能を追加します。追加はAmplifyコマンドで行います。
1.png

実行するとこんな感じです。ローカルに取り込まれました。
2.png

AmplifyのpushコマンドでAWS上の環境構築を行います。しばらく待っていると、以下のような画面で終わります。
3.png

AWSコンソールに飛んで確認すると、うまくいっているようです。特にエラーはありません。
4.png

認証画面を作成する

今度は画面の作成です。作成といっても、チュートリアルとして用意されているログイン用の画面を利用します。App.jsに以下の2文を追加します。
5.png

その後、npmコマンドでスタアートすると、ローカルで起動します。
6.png

動作確認する

実際に起動させたアドレスにアクセスすると、ログイン画面が出来上がっています。アカウントは持っていないのでCreate accountを押してアカウントを作成します。本人確認のためにメールアドレスを設定すると、メールに認証キーが送られてくるので入れることでアカウントがアクティベートされます。この辺は一般的なWebの認証と同じですね。
7.png

認証を通してログインすると、以前構築したサイトにアクセスできます。
8.png

認証の機能を構築するのは非常に難しいですが、Cognitoを使って簡単に構築することができました。Cognitoって本当に便利ですね。Webアプリケーションを構築するなら絶対に使うだろうなと思うサービスです。ちなみにAmplifyで使えるメソッドは30あり、チュートリアルにも記載されていますが、signUp, signIn, forgotPasword, signOut などの基本的なものは揃っています。詳細は以下参照。
https://aws-amplify.github.io/amplify-js/api/classes/authclass.html

実際に自分のサイトとして構築するには画面などを変更する必要もありますが、かなり利用できるソースコードも多いなと思います。今日はここまで。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0