remix-auth-socials - http 400 {"message": "Missing state on session."} 在生产中,在本地主机上工作
remix-auth-socials - http 400 {"message": "Missing state on session."} on production, on localhost its working
我正在尝试通过 https://www.npmjs.com/package/remix-auth-socials
在我的第一个 remix.run js FW 上进行 Google 身份验证
在本地主机上,它运行良好,但在生产服务器上,它在重定向回调时崩溃:
- URL: [我正确的重定向 URI]
- 响应 http 代码:400 错误请求
- 响应正文:{消息:“会话中缺少状态。”}
我的配置基于 npm package 中的自述文件:
// ~/services/session.server
export const sessionStorage = createCookieSessionStorage({
cookie: {
...
secure: true
},
});
...
我在 FW 代码中发现,如果无法从 remix sessionStorage 读取会话,它会崩溃并显示此消息。
有人知道是什么原因造成的吗?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes
Secure Optional
Indicates that the cookie is sent to the server only when a request is made with the https: scheme (except on localhost), and therefore, is more resistant to man-in-the-middle attacks.
就是这样,我不在 https 上 运行,所以解决方案是设置:
cookie.secure: false
https://github.com/sergiodxa/remix-auth/discussions/156#discussioncomment-2536785
如果您使用其中 cookie 的 maxAge 设置为 0(对于实现 'remember me' 功能很有用)的混音模板之一,这是一个常见问题。然而,这意味着浏览器会立即将 cookie 视为过时的。删除 属性 或将其更新为更长的时间范围。我用 maxAge: 60 * 60 * 24 * 30, // 30 days
我正在尝试通过 https://www.npmjs.com/package/remix-auth-socials
在我的第一个 remix.run js FW 上进行 Google 身份验证在本地主机上,它运行良好,但在生产服务器上,它在重定向回调时崩溃:
- URL: [我正确的重定向 URI]
- 响应 http 代码:400 错误请求
- 响应正文:{消息:“会话中缺少状态。”}
我的配置基于 npm package 中的自述文件:
// ~/services/session.server
export const sessionStorage = createCookieSessionStorage({
cookie: {
...
secure: true
},
});
...
我在 FW 代码中发现,如果无法从 remix sessionStorage 读取会话,它会崩溃并显示此消息。
有人知道是什么原因造成的吗?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#attributes
Secure Optional
Indicates that the cookie is sent to the server only when a request is made with the https: scheme (except on localhost), and therefore, is more resistant to man-in-the-middle attacks.
就是这样,我不在 https 上 运行,所以解决方案是设置:
cookie.secure: false
https://github.com/sergiodxa/remix-auth/discussions/156#discussioncomment-2536785
如果您使用其中 cookie 的 maxAge 设置为 0(对于实现 'remember me' 功能很有用)的混音模板之一,这是一个常见问题。然而,这意味着浏览器会立即将 cookie 视为过时的。删除 属性 或将其更新为更长的时间范围。我用 maxAge: 60 * 60 * 24 * 30, // 30 days