By default, the module provides configuration to integrate seamlessly with Laravel Sanctum authentication based on the XSRF token.
To explicitly set this authentication mode, update sanctum.mode configuration property to cookie.
You can check the official Laravel documentation here - SPA Authentication.
domain.comapi.domain.comFirst, you need to authenticate a user by submitting credentials to endpoints.login endpoint:
const { login } = useSanctumAuth()
const credentials = {
email: "john@doe.com",
password: "password",
remember: true,
}
await login(credentials)
The client will be automatically redirected to redirect.onLogin route of your application.
Once the module has an authentication state, it will take care of requesting a CSRF cookie from the API and passing it as an XSRF header to each subsequent request as well as passing all other headers and cookies from CSR to SSR requests.
You can also extend default interceptors and add your information into headers or cookie collections.
To check other available methods, please refer to the composables section.
Your Laravel API should be configured properly to support Nuxt domain and share cookies:
stateful domain list (SANCTUM_STATEFUL_DOMAINS)config/cors.php in allowed_origins domain listconfig/cors.php configuration should have support_credentials=truestatefulApi middleware should be enabledSESSION_DOMAIN=.domain.com), or localhost during development (without port)If you notice incorrect behavior of the module or authentication flow, feel free to raise an issue!