

用户认证八步走
小知识:可别把用户认证和用户授权(Authorization)搞混了。用户授权指的是规定并允许用户使用自己的权限,例如发布帖子、管理站点等。


id(图中的
user_id)作为JWT Payload的一个属性,将其与头部分别进行Base64编码拼接后签名,形成一个JWT。这里的JWT就是一个形同
lll.zzz.xxx的字符串。

HttpOnly属性来防止Cookie被JavaScript读取,从而避免跨站脚本攻击(XSS攻击)

jwt的Cookie。从而应用就可以将JWT从请求中提取出来。


user_id属性。这里用户的
id为1025。

id为1025的用户的信息,加载到内存中,进行ORM之类的一系列底层逻辑初始化。


和Session方式存储id的差异
www.taobao.com nv.taobao.com nz.taobao.com login.taobao.com
login.taobao.com登录后,在其他的子域名下依然可以取到Session,这要求我们在多台服务器上同步Session。
domain设置为顶级域名即可,例如
Set-Cookie: jwt=lll.zzz.xxx; HttpOnly; max-age=980000; domain=.taobao.com
domain必须设置为一个点加顶级域名,即
.taobao.com。这样,taobao.com和*.taobao.com就都可以接受到这个Cookie,并获取JWT了。

文章转载自数据与人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




