为什么 Hapi 在创建 cookie 时会爆炸?
Why does Hapi bomb when creating cookies?
使用 Hapi 设置一个简单的 cookie。
return h.redirect('http://localhost:3000/handle-login').state('tester', { authToken, refreshToken })
它坏了。
Error: Invalid cookie value: [object Object]
at exports.Definitions.internals.Definitions.internals.Definitions.format...
refreshToken 和 authToken 只是字符串。
这似乎是 Hapi 的常见问题
https://github.com/hapijs/hapi/issues?utf8=%E2%9C%93&q=%22Invalid+cookie+value%22
但除了禁用服务器中的一些错误配置之外没有真正的解决方案(对我来说这听起来是个坏主意)
如何通过简单的 cookie 处理让 Hapi 满意?
如果您将 cookie 存储为 JSON,则需要在配置服务器时设置 encoding
属性:
server.state('tester', {
ttl: null,
isSecure: true,
isHttpOnly: true,
encoding: 'base64json',
clearInvalid: true,
strictHeader: true
});
使用 Hapi 设置一个简单的 cookie。
return h.redirect('http://localhost:3000/handle-login').state('tester', { authToken, refreshToken })
它坏了。
Error: Invalid cookie value: [object Object]
at exports.Definitions.internals.Definitions.internals.Definitions.format...
refreshToken 和 authToken 只是字符串。
这似乎是 Hapi 的常见问题 https://github.com/hapijs/hapi/issues?utf8=%E2%9C%93&q=%22Invalid+cookie+value%22
但除了禁用服务器中的一些错误配置之外没有真正的解决方案(对我来说这听起来是个坏主意)
如何通过简单的 cookie 处理让 Hapi 满意?
如果您将 cookie 存储为 JSON,则需要在配置服务器时设置 encoding
属性:
server.state('tester', {
ttl: null,
isSecure: true,
isHttpOnly: true,
encoding: 'base64json',
clearInvalid: true,
strictHeader: true
});