月間29,000PV達成! 収益は毎日発生中! ギランバレー症候群に関する情報を集めています

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

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

 

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形式で返却したいのでカスタマイズしました。

 

 

Advertisement

 

実際にAPIを使ってみる

サインアップ処理を実行

サインアップ処理を実行

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

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

 

 

おすすめ書籍

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

 

 

 

参考サイト

■Amazon Cognito Identity Provider

URL:「https://docs.aws.amazon.com/ja_jp/cognito-user-identity-pools/latest/APIReference/API_Operations.html」

■Amazon Cognito User Poolsの情報をサーバサイドで取得する

URL:「https://qiita.com/fullkawa/items/19eddc5a97f2308e3029」

■Getting started with AWS Cognito

URL:「https://sanderknape.com/2017/02/getting-started-with-aws-cognito/」

■GitHub:aws-cognito-app

URL:「https://github.com/SanderKnape/aws-cognito-app/blob/master/app/src/AWSCognitoWrapper.php」

 

 

まとめ

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

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

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

Travelerを知らないの?