我正在使用反应-本地曲奇。我可以使用getAll方法读取以前在服务器端设置的cookie。在react本机中,我可以使用set命令设置一个名为“myCookie”的cookie,并且可以使用getAll命令读取它。但是,我无法在服务器端读取由react本地应用程序设置的cookie。
index.ios.js中的react本机代码。
var CookieManager = require('react-native-cookies')
componentWillMount () {
CookieManager.set({
name: 'myCookie',
value: 'myValue',
domain: 'ios app',
origin: 'some origin',
path: '/',
version: '1',
expiration: '2017-05-30T12:30:00.00-05:00'
}, (err, res) => {
console.log('cookie set!');
console.log(err);
console.log(res);
console.log('my output');
});
CookieManager.getAll((cookie) => {
let isAuthenticated;
if (cookie && cookie.remember_token) {
isAuthenticated = true;
}
else {
isAuthenticated = false;
}
this.setState({
loggedIn: isAuthenticated
});
console.log('GM:cookie remember isAuthenticated', cookie.remember_token, isAuthenticated,this.state.title,'myCookie',cookie.myCookie)
});
},最后一个控制台日志消息的输出是
GM:cookie remember isAuthenticated Object {domain: "localhost", value: "BAhbB2kHSSJFZmM3NDVkNTEwZTBkYTViZjU4NTJhOGQyZDNlMz…wY6BkVU--5888c15b42c6bdf3ca34c89f6554d2455d48c46b", name: "remember_token", path: "/"} true Sign In myCookie Object {domain: "ios app", value: "myValue", name: "myCookie", path: "/"}显示正在设置myCookie对象,并且应用程序能够恢复rails服务器设置的remember_token。
以上代码在ios应用程序启动时执行。ios应用程序随后打开一个webview组件,该组件在rails应用程序的会话控制器中调用新方法。在rails会话控制器中,我发现cookie['myCookie']是nil。为什么cookie的设置方式使我无法从rails应用程序访问它?
发布于 2017-01-02 23:38:19
2016年7月5日,我在react本机cookie github网站上发布了一个关于这一点的问题,但没有收到任何答复。网站上缺乏响应和其他类似的问题让我相信,此时,react-原生cookie--根本不支持这个功能。这并不是对react本机cookie团队的批评,任何开源项目都必须在某个地方划清界限。
https://stackoverflow.com/questions/38092028
复制相似问题