🍏

Laravel 8.X Sanctumが本番環境だと動かない message: "Unauthenticated." と返ってくる時の対処法

2021/10/17に公開

Laravel8 + Sanctum + Vue.jsでSPA認証を実装して個人開発をしている中で、ローカルでは動いていたのに本番では動かないという事態に陥ったので記録。

■詰まった点

Laravel Santumでログイン機能を実装
herokuで仮想本番環境としてデプロイをした結果 本番環境でloginができない
message: "Unauthenticated." とAPIから返ってくる
正しくtokenが送れていないのかもしれないとフロントの送信部分を見るもおかしくなさそう...

■解決策

Sanctumに関する環境変数を実行環境に合わせて変更するのを忘れていた(というか知らなかった)
ルートディレクトリにある.envの環境変数 SANCTUM_STATEFUL_DOMAINSの値を本番環境のドメインに変更する

変更前

.env
SANCTUM_STATEFUL_DOMAINS=localhost:8080

変更後(例herokuの場合)

.env
SANCTUM_STATEFUL_DOMAINS=自分のドメイン.herokuapp.com

これで正常にログインすることができました。

参考記事

[https://blog.capilano-fw.com/?p=6121 "Laravel 7.x Sanctumの使い方!実例"]

Discussion