gpt4 book ai didi

node.js - Hapi.js Bell/Auth-Cookie 重定向循环

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:00 24 4
gpt4 key购买 nike

我正在尝试为 Hapi.js 项目设置 google auth,但我不明白为什么登录后会出现重定向循环回到我的登录路由。

仅当用户尚未登录其 Google 帐户或尚未授予应用访问其信息的权限时,才会发生这种情况。

这是授权注册码

server.auth.strategy('session', 'cookie', true, {
password: 'private_key',
redirectTo: '/login/google'
});

server.auth.strategy('google', 'bell', {
provider: 'google',
password: 'private_key',
clientId: 'client_id',
clientSecret: 'client_secret',
location: 'same_origin_registered_with_google'
});

这是我的两条路线

server.route({
method: ['GET', 'POST'],
path: '/login/google',
config: {
auth: {
strategy: 'google',
mode: 'try'
},
plugins: { 'hapi-auth-cookie': { redirectTo: false } },
handler: (request, reply) => {
if (!request.auth.isAuthenticated) {
return reply('Authentication failed due to: ' + request.auth.error.message);
}

let creds = request.auth.credentials;

request.cookieAuth.set({
token: creds.token,
userId: creds.profile.id
});

return reply.redirect('/');
}
}
});

server.route({
method: 'GET',
path: '/',
handler: (request, reply) => {
return reply('hello');
}
});

要注意的是,正在设置身份验证 cookie,一旦退出重定向循环,我就可以手动导航到“/”路由,没有问题。

非常感谢任何对此的帮助

最佳答案

这是由于 hapi-auth-cookie 尚未处理 hapi 15 中的 isSameSite cookie 选项,导致 cookie 未发送回服务器。

您可以通过手动设置选项来解决此问题。

更多信息可以在 hapi 15 发行说明 https://github.com/hapijs/hapi/issues/3323 中找到以及 hapi-auth-cookie https://github.com/hapijs/hapi-auth-cookie/pull/142 上的 PR

关于node.js - Hapi.js Bell/Auth-Cookie 重定向循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39748688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com