我正在尝试通过我正在编写的API的响应传递HttpOnly
cookie。目的是使cookie充当刷新令牌,以实现React中SPA的silent refresh的目的。
在我的控制器方法中,我有以下代码:
response.set_cookie(
:foo,
{
value: 'testing',
expires: 7.days.from_now,
path: '/api/v1/auth',
secure: true,
httponly: true
}
)
我正在使用fetch
命令向此操作发出发布请求,如下所示:
fetch("http://localhost:3001/api/v1/auth", {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: '[email protected]',
password: '123456',
})
})
不确定这是否重要,但我想知道在XHR响应中传递cookie是否无效?但是,正如您在我的回复中看到的那样,这似乎正在起作用:
Set-Cookie: foo=testing; path=/api/v1/auth; expires=Sun, 26 Jan 2020 05:15:30 GMT; secure; HttpOnly
但是,我没有在Application -> Cookies
下设置Cookie:
为了澄清,React应用位于localhost:3000
上,并且Rails后端正在监听localhost:3001
。
有什么想法吗?
一旦我尝试在会话中存储一些数据。它没有在浏览器会话中显示为您的会话,但是当我通过byebug
测试它时,它已经存储了。