経緯
LaravelAPIを作成して、テストサーバーにデプロイ。
本番環境時は、同一ドメインで呼び出すため問題ないが、
ローカル環境から呼び出すときに少し手間取ったので書置き。
前提
Laravel9
sanctum SPA認証
フロントはReact
通信はaxiosライブラリを利用(withCredentialsとか必要な設定は済み)
ローカルはWindows
フロント、APIともにlocalhost起動時は認証が問題なく動く
結論
結局トップレベル
ドメインを合わせる。
手順
API(サーバー)側
ドメインの設定
適当なドメインを設定
例)api.testXXX.com
envファイル修正
.env
SANCTUM_STATEFUL_DOMAINS=testXXX.com
SESSION_DOMAIN=.testXXX.com
フロント(ローカル)側
hostsファイル修正
windows/system32/driver/etc/hosts
.
.
略
127.0.0.1 local.textXXX.com
AxiosのbaseURL変更
baseURLを「api.testXXX.com」に書き換え
環境設定ファイルか直接かは人による
確認
local.textXXX.com(localhost)にアクセスして
ログイン認証後、認証制限がかかっているEndpointに接続
その他
なんか他に方法ないのでしょうか。。