-
-
Notifications
You must be signed in to change notification settings - Fork 1
auth
qinmingyuan edited this page Dec 15, 2018
·
1 revision
- 客户端登陆成功之后,服务端的成功响应中会包含Auth-Token信息,Auth-Token具有唯一性,且难以伪造,并隐含诸如过期时间、用户ID等一些信息;
Auth-Token: eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOjEsInN1YiI6ImF1dGgiLCJleHAiOjE1NDUyMDU3Nzl9.GMIgAJN6Nu4EK-sKEI6cEsRmFb0Ik2AmxIPirjaP9_o
- 客户端从header中取出Auth-Token的值缓存到本地;
- 客户端之后的任何一次请求都在Request Headers携带该:Auth-Token;
- 服务端检查Auth-Token,如能正常鉴权(未过期),将在本次Response中原样返回该 Auth-Token;如果服务端检查该Auth-Token已过期,则会重新生成新的Auth-Token 并在本次Response中携带返回;
- 如果服务端鉴权失败,则会返回401错误,此时客户端应跳转登陆页面;
-
安全性高:当Auth-Token被窃取之后,攻击者和用户同时使用该token过程中,任何一方的token更新都将导致另一方无法正常授权,此时需要使用账号密码重新验证;token 过期时间越短,安全性越高;
-
客户端实现简单,几乎无附加成本;
-
服务端可控鉴权策略:可主动过期某用户授权码,可自由调整Auth-Token过期时间,可设定Auth-Token过期多久之后需使用登陆重新授权;