关于Android中Token的问题

叫我阿喵 2017-06-05 12:38:09
问题1:关于Token的生成,生成Token是否可用加入密码?(就是说使用用户名和密码进行加密生成Token)

问题2:Token是否要做可逆的加密运算?

问题3:如果Token没有加入用户名和密码进行生成,而且也是不可逆的加密,那么Token过期后怎么去请求一个新的Token?


我的设计思路是:
用户登录后,使用UserName以及Password等用户资料进行可逆加密。生成token,当token过期后,我可以解密token,通过token中的UserName和Passwrod从服务器上获取一个新的Token

但是网上查的资料,很多例子生成token都是没有加入账号密码生成的
他们是不是通过服务端的token是否一致,然后再判断token是否过期,过期再刷新token?
...全文
293 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
叫我阿喵 2017-06-08
  • 打赏
  • 举报
回复
引用 3 楼 xiaohuh421的回复:
写在缓存, 自动清除, 也没毛病啊. 是否强制用户登陆这个问题, 没必有纠结, 现在很多网站和app都是这么做的, 过期了就提示用户登陆已经过期, 请重新登陆. 当然, 你实在觉得不友好, 那你完全可以要求app端自己处理啊, 发现token过期, 自动重新登陆即可. 或者是开了一新的接口来更新(重新生成)token也是可以的啊. 存到数据库, 也是可以在用户登陆时, 读取到缓存中啊.
谢谢了,我已经决定好怎么处理了
xiaohuh421 2017-06-07
  • 打赏
  • 举报
回复
写在缓存, 自动清除, 也没毛病啊. 是否强制用户登陆这个问题, 没必有纠结, 现在很多网站和app都是这么做的, 过期了就提示用户登陆已经过期, 请重新登陆. 当然, 你实在觉得不友好, 那你完全可以要求app端自己处理啊, 发现token过期, 自动重新登陆即可. 或者是开了一新的接口来更新(重新生成)token也是可以的啊. 存到数据库, 也是可以在用户登陆时, 读取到缓存中啊.
叫我阿喵 2017-06-05
  • 打赏
  • 举报
回复
引用 1 楼 xiaohuh421 的回复:
我们的用户系统是这么处理了. 用户登陆时, 后台计算出一个token, 并入库, 记录生成时间, 返回token给app app上后续操作都会需要带上这个token. 在服务端的每个接口都会判断这个token的正确性, 和是否过期. 过期了, 任何接口都会返回token过期的信息, 这时app可以选择让用户重新登陆, 或者自动重新登陆, 或者说通过其它接口来更新token, 让服务器为它重新生成token
我的疑问就是时间这里,如果写在缓存,时间到了自动清除,那么用户就要强制重新登录,这样体验肯定不好, 如果把他存到数据库里就会使得频繁的查询数据库了,这样跟Token产生的缘由不会冲突吗?Token不就是为了减少频繁访问数据库吗?
xiaohuh421 2017-06-05
  • 打赏
  • 举报
回复
我们的用户系统是这么处理了. 用户登陆时, 后台计算出一个token, 并入库, 记录生成时间, 返回token给app app上后续操作都会需要带上这个token. 在服务端的每个接口都会判断这个token的正确性, 和是否过期. 过期了, 任何接口都会返回token过期的信息, 这时app可以选择让用户重新登陆, 或者自动重新登陆, 或者说通过其它接口来更新token, 让服务器为它重新生成token

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧