- nuxt: 2.14.6
- node: v12.20.0
- adonisjs: v5.0.9
I'm using Nuxt with SSR option enabled and authentication strategy is configured as follow to communicate with Adonisjs at server side:
auth: {
strategies: {
local: {
endpoints: {
login: {
url: `${process.env.AUTH_URL}/signin`,
method: "post",
propertyName: "data.token"
},
user: {
url: `${process.env.AUTH_URL}/me`,
method: "get",
propertyName: "data"
},
logout: false
}
}
},
cookie: {
prefix: "auth.",
options: {
sameSite: "strict",
domain: process.env.AUTH_ORIGIN
}
}
}
When things work properly, if I open a Nuxt page, $auth
is initialized to be used in server-side rendering . But If I do redirect from Adonisjs to Nuxt, it won't be initialized server-side any more and I see there is an XHR request to /me
endpoint in network tab of Firefox developer tools.
Redirecting from Adonis as follow:
async check({ response }) {
response.redirect(`/mypage`);
}
Here is my NuxtController in Adonisjs:
class NuxtController {
constructor() {
this.nuxt = use('Service/Nuxt')
}
async render({ request: { request: req }, response, session }) {
response.implicitEnd = false
await session.commit()
await new Promise((resolve, reject) => {
this.nuxt.render(req, response.response, (promise) => {
promise.then(resolve).catch(reject)
})
})
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…