やっほー
【Laravel】AWS Cognito利用方法!サインアップするで!

【Laravel】AWS Cognito利用方法!サインアップするで!

  • 2019年3月31日
  • 2021年3月18日
  • Laravel
  • 677view

LaravelでCognitoを使うことになりました

Laravel×Cognitoで調べると、全然情報が出てこず。。

ということで今回は、LaravelでのCognito利用方法を解説します!

Laravel×Cognitoの前提条件

  • Laravelプロジェクトが作成されていること

Laravel×Cognito利用方法

Cognitoを利用するには、ライブラリをインストールする必要があります。

「aws/aws-sdk-php:3.*」ライブラリをインストール

Laravel×Cognito実装

定数設定

config\app.php」を上記のように編集します。

これから使用する定数を用意しておきます。

ルーターサービスプロバイダー設定

app\Providers\RouteServiceProvider.php」を上記のように編集します。

これで、新規作成するルーティングファイルが有効になります。

ルーティングファイル新規作成

routes\cognito.php」を新規作成し、上記のように編集します。

今回は、「ユーザー一覧取得」「サインアップ」「認証コード確認」の3つを実装します。

コントローラ新規作成

app\Http\Controllers\CognitoController.php」を新規作成し、上記のように編集します。

サービスプロバイダ設定

app\Providers\AppServiceProvider.php」を上記のように編集します。

ControllerでサービスをDIするために必要な設定です。

CognitoService新規作成

app\Services\CognitoService.php」を新規作成し、上記のように編集します。

CognitoErrorService新規作成

app\Services\CognitoErrorService.php」を新規作成し、上記のように編集します。

Cognitoのエラーはロジックを別に切り分けたいので、エラー用サービスを作成しました。

ハンドラ設定

app\Exceptions\Handler.php」を上記のように編集します。

エラーをJson形式で返却したいのでカスタマイズしました。

実際にAPIを使ってみる

サインアップ処理を実行

サインアップ処理を実行

Restlet Clientを使ってPOSTします。Cognitoに新規ユーザが登録されていれば成功です。

***」の部分は正しい値を設定してください。

おすすめ書籍

僕はLaravelの勉強をするのに以下の書籍を購入しました。おすすめですよ!

参考サイト

まとめ

Laravel×Cognitoの処理を実装してみましたが、恐ろしく情報がない。

ないということは皆使わないのかなと疑問に思いましたが、まあ気にしない気にしない。

この記事が誰かの参考になれば幸いです。

【Laravel】AWS Cognito利用方法!サインアップするで!
フォローしてもらえると泣いて喜びます