jwt实现单点登录原理

282 阅读1分钟

最近公司开发了一套全新的系统,需要与第三方系统进行集成。苦于没有单点登录机制,第三方跳转本系统很可能出现鉴权失败的问题。如何实现单点登录呢?下面咱来聊聊单点登录的那些事!

1、JWT组成

9a19fba3-0183-4d9d-ba3c-60a1d06fb553.png

2、JWT生成策略

bfcc4016-922f-493c-bacb-d0a90ea024df.png

具体步骤:
(1)上游携带秘钥等基础信息参数请求;
(2)参数验证,验证失败则直接抛出异常;
(3)根据参数生成JWT,并重定向目标页面;

3、JWT鉴权逻辑

鉴权逻辑
(1)在header或cookie中携带JWT参数;
(2)拦截器拦截到请求,并对JWT进行参数验证,包括正确性及是否过期校验;
(3)验证失败?直接报错返回;
(4)验证成功,执行后续操作并返回结果;

4、JWT如何判断是否过期?

  • DefaultJwtParser.java

jwt会解析claims里面的expiration属性,跟当前时间进行比较。一旦判断jwt过期,立马抛出异常。

感谢各位看官!如果感觉还可以的话,可以点个免费的小星星给点小小的鼓励吗?最近开通了公众号,欢迎各位靓仔靓女关注一下我的公众号哦!Thank You!