https://d226lax1qjow5r.cloudfront.net/blog/blogposts/aws-cognito-verify-with-php/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スタイリングを行うことで、適切な懸念事項の分離を観察し、より良いアプリケーションにすることをお勧めします。

前提条件

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

セットアップ方法

クローン 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ヴォネージの卒業生

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