https://a.storyblok.com/f/270183/22366/0fc813ba75/social_amazon-cognito_verify_1200x627.png

PHPによるAWS Cognito Verify

最終更新日 October 26, 2020

所要時間:3 分

ユーザー管理を正しい方法で行うのは大変な仕事です。ユーザーが自分で登録できるようにし、本人確認をするのは難しいことです。しかし Amazon CognitoVerifyAPIを使うことでを使用すると、力仕事をすることで、少し楽になります。

いくつかのウェブフォームで ボンテージSDKAWS SDKを使えば、ユーザが登録、認証情報の更新、本人確認、ログインできる標準的なユーザ管理システムを作成できます。のコードを使います。 Verify-aws-cognito-phpのコードを使用します。

注:教育目的のため、上のレポのサンプル・コードはシンプルにした。フレームワークもCSSもJavascriptも使っていない。しかし、サポートされているフレームワークを使用し、適切なCSSスタイリングを行うことで、適切な懸念事項の分離を観察し、より良いアプリケーションにすることをお勧めします。

前提条件

セットアップ方法

クローン Verify-aws-cognito-phpをGitHubからクローンし、新しく作成したディレクトリに移動して作業を進めます。

依存関係のインストール

この例では、Composerを使って依存関係をインストールし、オートローダーをセットアップする必要がある。

Composerがグローバルにインストールされていると仮定すると がグローバルにインストールされていると仮定してを実行する:

composer install

AWSセットアップ

この例では、ユーザを保持するために Amazon Cognito User Pools を使用します。ユーザ・プールは以下のように設定します:

  • に移動します。 Amazon Cognitoダッシュボードに移動します。

  • セレクト Manage User Pools.

  • 新しいユーザープールを作成する。

    • プールに名前を付け Step through settings

    • 選択する Email address or phone number選択する Allow email addresses

    • クリック Next step

    • パスワードの最小の長さと複雑さを設定する。

    • 必ず Allow users to sign themselves up

    • クリック Next step

    • この例では、次のステップはそのままにしておきます。Vonageを2FAに使う

    • クリック Next step

    • ドロップダウンから FROM email address ARNをドロップダウンから選択します。これは、あなたが既に Amazon Simple Email Service(SES)

    • を加える。 FROM email addressを追加する。

    • このページの残りの部分は変更しないでください。ただし、メールメッセージから末尾のピリオドを削除することをお勧めします。これにより、受信者がピリオドを仮パスワードの一部として誤って使用することを防ぐことができます。

    • クリック Next step

    • をクリックしてタグの追加をスキップします。 Next step

    • をクリックしてデバイスをスキップします。 Next step

    • リンクをクリックして Add an app client

    • アプリのクライアントに名前をつける

    • のチェックを外してください。 Generate client secret

    • 残りのボックスにチェックを入れる

    • クリック Create app client

    • クリック Next step

    • をクリックしてトリガーをスキップする。 Next step

    • クリック Create pool

更新環境

提供された .env.defaultファイルを .envに変更し、必要に応じて値を更新してください:

AWS_PROFILE=default AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_VERSION=latest AWS_REGION=us-east-1 AWS_CLIENT_ID= AWS_USERPOOL_ID= NEXMO_API_KEY= NEXMO_API_SECRET=

上の例で <>で示したプレースホルダはすべて更新する必要がある。必要に応じて他も更新してください。

ローンチまたはデプロイ

PHP組み込みのウェブサーバーでローカルにコマンドを実行してアプリをテストする:

php -S localhost:8080

ウェブブラウザで http://localhost:8080にアクセスする。

重要:このアプリは機能しますが、教育目的であり、そのまま一般に使用することはできません。

機能性

アプリの流れは以下の通り:

  • メインページから Loginまたは Register.

    • 登録後(user_register.php)、ユーザーはパスワード変更必須ページにリダイレクトされます。(login_reset.php)ここで、Eメールで送られた仮パスワードを利用する必要があります。

    • 仮パスワードの更新後、ユーザーはログインページにリダイレクトされます。(login.php)

    • ログインは、新規ユーザーまたは既存ユーザーがログインする場所です。

    • ログイン成功後、ユーザは2FA認証ページにリダイレクトされる。(login_verify.phpここで、携帯電話番号に送られた6桁のコードを入力する。

    • 2FA認証に成功すると、ユーザーはメインページ(index.php)にリダイレクトされます。(logout.php)

次のステップ

何か質問があったり、問題が発生した場合は、以下までご連絡ください。 までご連絡ください。までご連絡ください。 NexmoコミュニティSlackチームにお問い合わせください。幸運を祈る。

シェア:

https://a.storyblok.com/f/270183/384x384/b3c7ffaf85/adamculp.png
Adam Culpヴォネージの卒業生

アダムは開発者兼コンサルタントで、ウルトラランニング、ブログ、そして指導と支援への飽くなき欲求を持ちながら、他の人々が素晴らしいことを成し遂げるためにテクノロジーを手なずけるのを助けることを楽しんでいる。