美文网首页
基于spring security auth2 +jwt的sso

基于spring security auth2 +jwt的sso

作者: luncene_e110 | 来源:发表于2021-06-29 18:32 被阅读0次

    首先我们看下流程图:
    1.访问应用CRM的流程(未登录)


    crm.png

    2.访问应用CMS的流程(已登录)


    cms.png

    注意:

    保证授权请求是在同一个域下,这样才能拿到登录用户的身份信息(根据cookie获取服务器后端session),spring-security管理session是通cookie来判断登录用户身份的,如果授权不在同一个域则无法拿到用户身份,就需要重新登录。
    关于spring-security的session管理可以看下:https://blog.csdn.net/qq_36500178/article/details/113091776

    访问CRM流程:

    1.访问资源接口:前端判断是否带token。
    2.没有token,跳转到UAA的前端授权页(带上系统标识)
    3.UAA前端授权页调用uaa授权接口
    5.uaa后端验证未登录,重定向到uaa登录页并带上系统标识。
    6.输入账号和密码。
    7.调用登录接口。
    8.登录成功以后,由前端调用uaa的授权接口并带上系统标识。
    9.授权成功后服务端302跳转到crm的授权码页面。
    10.前端在授权码页拿到code,调用uaa的token接口。
    11.返回token,crm前端拿token访问资源。

    注意:

    已gateway做资源服务器,需要对接口进行token的解析,并将用户信息传递给业务app,针对特殊的接口要放开token校验(譬如:uaa的登录接口、授权接口、获取token接口等)
    demo:
    https://github.com/mushang8923/sso-jwt.git gateway版本请切换到gateway-feature的分支

    参考:https://www.cnblogs.com/haoxianrui/p/13719356.html

    相关文章

      网友评论

          本文标题:基于spring security auth2 +jwt的sso

          本文链接:https://www.haomeiwen.com/subject/vwykultx.html