最近公司开发了一套全新的系统,需要与第三方系统进行集成。苦于没有单点登录机制,第三方跳转本系统很可能出现鉴权失败的问题。如何实现单点登录呢?下面咱来聊聊单点登录的那些事!
1、JWT组成
2、JWT生成策略
具体步骤:
(1)上游携带秘钥等基础信息参数请求;
(2)参数验证,验证失败则直接抛出异常;
(3)根据参数生成JWT,并重定向目标页面;
3、JWT鉴权逻辑
鉴权逻辑
(1)在header或cookie中携带JWT参数;
(2)拦截器拦截到请求,并对JWT进行参数验证,包括正确性及是否过期校验;
(3)验证失败?直接报错返回;
(4)验证成功,执行后续操作并返回结果;
4、JWT如何判断是否过期?
- DefaultJwtParser.java
jwt会解析claims里面的expiration属性,跟当前时间进行比较。一旦判断jwt过期,立马抛出异常。
感谢各位看官!如果感觉还可以的话,可以点个免费的小星星给点小小的鼓励吗?最近开通了公众号,欢迎各位靓仔靓女关注一下我的公众号哦!Thank You!