对于jsonwebtoken的一些疑问
是一个用户注册的场景,当用户post提交用户名和密码之后服务端返回该用户的accessToken
$http({
method: 'POST',
url: '/signin',
data: $scope.signinAccount
}).then(function(response){
// dosomething
}, function(error){
console.log(error.data);
});
请问拿到accessToken以后是应该存在localstorage里吗?然后每次在用户提交请求的时候在header里添上accessToken?
9 回复
放 cookie 也可以
如果是pc可以直接存到session,如果是移动端,也可以存到session里,哈哈
localstorage,indexedb,websql支持的不完整啊
bower install a0-angular-storage --save
A Storage done right for AngularJS.
Key Features
- Uses
localStorage
orsessionStorage
by default but if it’s not available, it usesngCookies
. - Lets you save JS Objects
- If you save a
Number
, you get aNumber
, not a String - Uses a caching system so that if you already have a value, it won’t get it from the store again.
@klesh 谢谢推荐
@i5ting 明白了
jwt 本身有有效期, 比如设置 10s , 用这个作为用户登录的信息, 这个过期时间怎么处理呢, 还是说,比如客户端用 cookie存储 1天,那jwt 有效期也是 1天呢
@lik0914 过期了就重新申请啊,这是客户端的事儿
@i5ting 谢谢, 客户端重新申请,一般是需要用户名+密码,比如,jwt有效期1min,过期了,我想用户无感知,那客户端不是需要保存 用户名+密码,对于移动客户端,保存起来,我个人感觉还可以,但是如果是 pc端的话,应该不太合理吧
@lik0914 用户就是无感知的,因为是api接口告诉你说token过期了,这时再拿用户名密码换token。pc端无更好方案吧