3
0

More than 3 years have passed since last update.

Laravel+Cognitoでサインイン時にエラー"The security token included in the request is invalid."

Last updated at Posted at 2021-03-08

事象

Laravel環境にCognitoを使用したサインアップ/サインイン機能を搭載したのですが、新規登録・メール検証済みユーザーでサインインしようとした時に全くもってサインインできませんでした。うんともすんとも動かねえぜ。
スクリーンショット 2021-03-08 15.32.05.png

前提条件として、Cognitoのアプリクライアントの設定で「認証用の管理 API のユーザー名パスワード認証を有効にする(ALLOW_ADMIN_USER_PASSWORD_AUTH)」を使用した場合でのエラーです。

結論を言うと環境変数に設定していたAWS_ACCES_KEY_IDが間違っていただけなのですが、なんとこのミスに気づかず6時間以上を無駄にしてしまったため、備忘録として残します。

以下、Laravel+Cognito構築で参考にさせて頂いた記事
https://blackbits.io/blog/laravel-authentication-with-aws-cognito
https://qiita.com/suzumurakk/items/efe4543cf0df2cd31659

原因

タイトルにもある通りで、裏では以下のエラーが返ってきていました。

The security token included in the request is invalid.(リクエストに含まれているセキュリティトークンが無効です。)

このエラーでググると、AWSに送信しているアクセスキーIDもしくはシークレットアクセスキーが無効とのことでした。
Laravelの.envを確認したところ、アクセスキーID(AWS_ACCES_KEY_ID)に余計な文字が入っておりました。チクショー!!
上記解決後、無事にサインインできることを確認しました。

スクリーンショット 2021-03-08 15.31.18.png

反省点

  1. Laravelの認証周り(Guardやプロバイダー)の理解が浅く、原因追求に時間がかかりました。
  2. 真っ先にAWSからのレスポンスを確認すべきでした。次からは必ずそうします!!!

そのうちLaravel+Cognitoを使った認証/メール検証/サインアップの実装記事を書こうと思います。

3
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
3
0