网上很多博客讲的例子根本就没有讲到点子上,大致的实现思路我知道,关键是这个jwt具体要怎么保存,才能让其它系统也可以共享到。
比如有三个系统,
登录中心login
服务系统A
服务系统B
A、B两个系统都需要做登录处理
在没有登录过之前,比如访问A系统,A系统验证没有登录就会跳转到登录中心页面进行登录(跳转的时候会通过url传一个A的url回调地址)
当登录中心验证登录后生成一个jwt,然后登录中心会把这个jwt通过上面的回调地址转给A系统,那么这个A系统拿到这个jwt要怎么保存,保存在哪?
当A系统登录往后,此时我访问服务B,比如此时我就是从浏览器中的URL地址栏里输入B服务的访问路径,那么服务B系统后端怎么拿到A系统刚刚登录时拿到的JWT(就这个点很多博客基本上都没有说清楚)
第一个问题:
A系统拿到jwt后不保存。你要知道jwt能解析出来哪些数据,你就知道为啥没有必要保存了。
第二个问题:
jwt在web端一般放在header中或者cookie中,因为AB系统是一家的,web端可以设置相互可见。很多博客没说,估计是因为他们都是后端吧,不需要管前端怎么实现。