Closed3
Next.js + Laravelの設定

Laravel Sanctumを使って環境を構築している
SPAを認証するには、SPAの「ログイン」ページで最初に/sanctum/csrf-cookieエンドポイントにリクエストを送信して、アプリケーションのCSRF保護を初期化する必要があります。
このリクエスト中に、Laravelは現在のCSRFトークンを含むXSRF-TOKENクッキーをセットします。
なぜかクッキーがセットされない
.env
APP_URL=http://api.shop-mate.d
SESSION_DOMAIN=.shop-mate.d
FRONTEND_URL=http://shop-mate.d:3000
SANCTUM_STATEFUL_DOMAINS=shop-mate.d:3000,api.shop-mate.d
axios.ts
import Axios from 'axios'
const baseURL = process.env.NEXT_PUBLIC_BACKEND_URL
const axios = Axios.create({
withCredentials: true,
withXSRFToken: true,
headers: {
'X-Requested-With': 'XMLHttpRequest',
},
baseURL: baseURL
})
export const csrf = () => axios.get(baseURL + '/sanctum/csrf-cookie')
export default axios

Nextの環境変数のここの設定をhttps -> httpに変更するとセットされた
.env
NEXT_PUBLIC_BACKEND_URL=http://api.shop-mate.d

DNS設定時のメモ
AWS Certificate Managerをcloudformationで設定したとき ステータスが「発行済み」にならないと更新が終わらない
そのため、実行中にcloudflareにNSを設定する必要がある
このスクラップは2024/08/22にクローズされました