首页 > 其他分享 >一种移动端的token设计方案(适合app+h5)

一种移动端的token设计方案(适合app+h5)

时间:2024-10-11 09:02:19浏览次数:1  
标签:gw 登录 app 用户 h5 token ticket

一种移动端的token设计方案(适合app+h5)

需求分析:

1、用户中台赋能各大应用,统一接管登录注册,验证用户账号密码。原有的应用用户体系内部逻辑不变。

2、兼容app端,H5端及app混合H5端,无缝连接。

 

设计思路:

用户中台只负责认证账号密码,并下发ticket凭证。

应用收到ticket后,自主维护本应用的验证体系gw-token以及有效登录时长,当gw-token失效时,可重新使用ticket进行静默验证登录。

好处:

1、用户中台没有gw-token维护的压力,只做关键验证,提高可用性和效率。

2、应用维护gw-token,相对独立,灵活性更高。

3、使用ticket和token机制,挂平台,在app和h5之间无缝传递和对接。

 

 

 

 

 



  • 移动端与服务器端之间的 token 怎么设计?

作者:做个前端

链接:https://www.jianshu.com/p/e07f51c5c8bd

网上关于移动客户端与服务器数据传输之间的 token 的细节使用好像都没有详细的说明,基本都是一笔带过。对于简简单单的加入一个固定的参数 token,其实是很容易被抓包的。

介绍

token 是登录之后服务器返回的一段加密字符串(加密算法自己与后台商量如何加解密),存储到本地。在客户端请求服务端数据的时候可以带上(放在请求头headers,参数都行),更新 token 的方法自己与后台商量,以下只是思路。

下面说一下我自己的方案:

image

启动页判断本地是否存在 token

为啥在启动页更新 token 呢?是因为启动页在第一个页面,一般都会有几秒的等待时间,是不做网络请求操作的,而且页面使用率高。这样随机更新可以说安全性高。

a)本地存在 token

1)客户端使用旧 token 请求更新 token
2)服务器判断 redis 是否存在 token
3)存在则生成新的token 存储在 redis 中,删除旧的 token
4)不存在则判断该用户是否存在另一个与之不相等的 token
5)存在与之不相等的 token则说明该用户账号在其他设备登录
6)不存在~则说明过期被删除或者在其他设备登录之后退出登录被删除(设置token过期时间为30天)

b)本地不存在 token

1)有三种情况,一种重来没登录过,一种是在新设备登录,一种是登录后退出用户

退出用户

网络请求删除 redis 中的token,并删除本地的 token












标签:gw,登录,app,用户,h5,token,ticket
From: https://www.cnblogs.com/ios9/p/18457689

相关文章