Closed3

Next.js + Laravelの設定

YoppyYoppy

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

YoppyYoppy

Nextの環境変数のここの設定をhttps -> httpに変更するとセットされた

.env

NEXT_PUBLIC_BACKEND_URL=http://api.shop-mate.d
YoppyYoppy

DNS設定時のメモ
AWS Certificate Managerをcloudformationで設定したとき ステータスが「発行済み」にならないと更新が終わらない
そのため、実行中にcloudflareにNSを設定する必要がある

このスクラップは2024/08/22にクローズされました