我有一个安全的烧瓶会议
session = "xC4tHoSZQVSHpVtnHUONYb/obAA=?USER_TOKEN=UycuZUp3Rndja1JnREFJQU1CZThwWVpqbkRWNHZpQW9QMlg0TzY5ZXN4MU5rTlZOaEM5RERuczBCRkRqSHFDY0YxTGZMSUM3WlNHdkxhZEpJUjZXcjh4ekZyUEQ5aUxFMEEuVGt0V3RqdTFKblVBVzV2SnRpSjd3M0NJZFdRJwpwMQou"
我正在使用angular.js Cookie来检索值,但它没有给我任何信息。
console.log('token - ' + $cookieStore.get('USER_TOKEN'));
如何使用Javascript访问USER_TOKEN
的值?
答案 0 :(得分:1)
我可能完全反对这一点,但我一直认为你无法使用Javascript访问会话数据,因为Werkzeug安全cookie模块使用了一些内部功能。我有计划尝试这个片段作为解决方法:
http://flask.pocoo.org/snippets/51/
但是在我有机会尝试之前,我不知道它是否可以用Flask的基本会话模块做一些缺乏的事情。
答案 1 :(得分:0)
因为问题被问到Flask默认切换到危险的客户端会话。
由于这仍然是这个问题的最佳google结果,我自己也有一些问题,现在就是如何做到这一点:
function parse_session(){
var cookie = Cookies('session');
if(! cookie) return;
// Is the content ziped ?
var un_64 = "";
if(cookie[0] == "."){
var data = cookie.split('.')[1].replace(/_/g, '/').replace(/-/g, '+');
un_b64 = atob(data);
un_b64 = pako.inflate(un_b64, {to: 'string'});
}else{
var data = cookie.split('.')[0].replace(/_/g, '/').replace(/-/g, '+');
un_b64 = atob(data);
}
return jQuery.parseJSON(un_b64);
}
此代码段使用jquery,cookie.js和paco(解压缩)。 Flasks的'SESSION_COOKIE_HTTPONLY'配置变量需要设置为False才能在客户端读取会话。