1

Rails API 应用程序在登录和刷新端点中创建 cookie。

cookies.encrypted['app.refresh_token.local_user'] = {
  value: refresh_token,
  path: '/auth',
  expires: 15.days.from_now,
  secure: Rails.env.production?,
  httponly: true
}

当我在 Insomnia 中测试请求时,一切正常。我在 Insomnia 中看到了这些 httpOnly cookie,然后后端看到了它们。

Nuxt (SSR) 应用程序并非如此。后端代码没有改变,所以后端仍然为刷新令牌创建 httpOnly cookie。但是当 Nuxt 请求刷新端点时,Rails 会显示来自 Nuxt 的 cookie,并且由它创建的所有值都会消失。

出于这个原因,我不明白如何将刷新令牌存储在后端的 httpOnly cookie 中。我看到这是存储此令牌的唯一正确方法,但我不能以任何方式这样做。现在我正在从头开始编写我的解决方案,在此之前我尝试了 Nuxt auth 库。两种情况下的问题都是一样的。

4

0 回答 0