基于token机制鉴权架构( 二 )


2. 如果是非生产环境,直接由header中读取token 。
二、 生产环境传递如下参数
memberid (用户id)
nonce(随机字串,6位)
timestamp(当前时间戳,到秒)
sign= md5( uid+ nonce + timestamp +token )
三、 验证逻辑
1. 验证时间戳
判断时间戳是否起过60s,大于60s则判别为重放功击 。
2. 验证nonce
首先验证nonce在 reids中是否存在,如果存在,则判别为重放功击,否则将nonce记录在redis中(key为:"nonce"+uid+"_"+nonce),失效时间为60s 。
3. 验证sign
md5( uid+ nonce + timestamp +token ) 验证是签名是否通过 。
4. 验证token
通过uid拿到token,验证逻辑同验权流程 。
当然在不同的业务场景下实现方案是多种多样的,仅以此方案抛转引玉,供大家参考 。




推荐阅读