我创建了一个 Rails 7 API 应用程序。然后我为用户和 JWT 创建了一些端点。
对于刷新令牌,我编写了以下代码:
response.set_cookie(
'app.refresh_token.local_user',
{
value: refresh_token,
path: '/auth/refresh',
expires: 15.days.from_now,
secure: Rails.env.production?,
httponly: true
}
)
此代码在三个地方运行:注册、登录和刷新。
我最初认为这是正确的代码,因为它在 Insomnia 中“测试”时运行良好。但是我的工作进入了浏览器(Nuxt)并且出现了一个问题——我停止从request.cookies
Rails 中接收 cookie。
Rails 应用程序有这段代码:
request.cookies['app.refresh_token.local_user']
当我从 Insomnia 发送请求时,我得到了 cookie 值。当我从 Nuxt (SSR) 应用程序(浏览器)发送请求时,我得到nil
.
(我猜这是 SSR,但我不确定。如果是这样,你如何解决它?)
你能告诉我我做错了什么吗?