对于jsonwebtoken的一些疑问
发布于 5 年前 作者 oMaten 4431 次浏览 最后一次编辑是 4 年前 来自 问答

是一个用户注册的场景,当用户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 or sessionStorage by default but if it’s not available, it uses ngCookies.
  • Lets you save JS Objects
  • If you save a Number, you get a Number, 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端无更好方案吧

回到顶部