zoukankan      html  css  js  c++  java
  • Java生鲜电商平台-生鲜电商平台SSO(单点登陆)技术方案(小程序/APP)

    Java生鲜电商平台-生鲜电商平台SSO(单点登陆)技术方案(小程序/APP)

    第三方业务系统单点登陆技术方案

    1   概述

        单点登录简单说,就是通过用户的一次性鉴别登录,即可获得需访问系统和应用软件的授权,在此条件下,管理员无需修改或干涉用户登录就能方便的实施希望得到的安全控制。

    2  背景

    平台负责把各种应用、服务、业务集成,对它们系统的用户信息进行统一管理。只要在平台登录的用户,都可以得到一个由平台颁发的虚拟令牌,这样便可轻松的来回其它不同业务,对所有被授权的网络资源进行无缝访问了。这不仅了提高网络用户的工作效率,降低网络操作的费用,还提高了网络的安全性。

    3  解决方案

    1、工作流程:

       

    2、流程描述

    (一)  登录Portal

    1)        用户向Portal请求登陆。

    2)        Portal获取用户名和密码后,向AAA请求认证。

    3)        AAA查询用户名、密码,确认用户存在。

    4)        AAA生成token加密串,和有效时间(当前时间+默认配置时间),保存token。

    5)        并把token返回给Portal。

    6)        Portal创建用户会话,并保存token,返回首页。

    (二)  访问第三方业务

    1)        当用户在Potal上点击一个业务链接时,系统会访问第三方业务系统,并把当前用户的token和AAA入口地址时作为请求参数带上。

    2)        第三方业务系统带上token参数,请求AAA认证身份。

    3)        AAA认证身份通过后并通知第三方业务系统。

    4)        第三方业务系统建立用户会话,并保存token。

    5)        系统跳转到第三方业务系统可操作界面。

    6)        在第三方业务系统中,操作内部服务,仅仅验证用户会话。

    (三)  从第三方业务系统返回Portal

    1)        在第三方业务系统中,Portal的首页的URL应该为:portal_URL+AAA_URL+token。

    2)        点击Poratl首页,Portal先验证用户会话是否有效,如果有效,返回首页;否则向AAA请求验证token,验证通过后,Portal重新建立用户会话,并保存token。

     

    3、重点说明

    1)        在系统内部操作时,验证用户会话。

    2)        当跳转到其他业务系统时(系统切换),传递token参数。此时先验证用户会话是否有效,有效则放行;无效则请求AAA验证token,通过后重新建立用户会话。

    3)        Token的失效时间配置长点(需要评估),用户在某个业务系统中操作比较长时间后切换系统,保证token仍然有效。

    4 提供给第三方业务接口

    1、  统一用户登录认证接口

    1.1          接口功能描述

    第三方业务系统向AAA进行用户鉴权

          

    1.2          接口方向

    第三方业务àAAA

    1.3          接口协议

    协议:HTTP

    方法:GET

    URL:http:/IP:PORT/aaa/auth?token=*******

          

    1.4          接口返回

    协议:JSON

    属性定义:resultCode;1表示鉴权成功,0表示鉴权失败。(必填)

                    desc; 描述信息 (非必填)

    需要用户哪些信息,与AAA约定,让他传递。

    示例:

    {

      "resultCode": "0",

      "desc": " token已经失效"

    }

    2、  Portal登录接口

    2.1、接口功能描述

    Portal向AAA请求登录

    2.2、接口方向

    PortalàAAA

    2.3、接口协议

    协议:HTTP

    方法:GET

    URL:http:/IP:PORT/aaa/login?account=**&password=**&mobileNum=**

    2.4、接口返回

    协议:JSON

    属性定义:resultCode;1登录成功,0登录失败(必填)

                    token;用户认证令牌(resultCode=1时必填)

                    desc; 描述信息 (非必填)

                    需要用户哪些信息,与AAA约定,让他传递。

    示例:

    {

      "resultCode": "1",

      "token": "WEOSLDF=+EWR=O--=+LDFG",

      "desc": "登录成功"

    }

    5 第三方业务系统规范

    1、  第三方业务系统需要请求PORTAL提供的鉴权链接(URL+TOKEN)进行鉴权。

    2、  Token认证通过后,建立用户会话。

    3、  构建Portal首页地址为:portal_URL+AAA_URL+token

    4、  需要第三方业务系统的用户信息同步给AAA系统。(需要讨论同步协议,策略)

    6 Portal规范

    1、需要保存第三方业务系统向AAA鉴权时的接口地址和用户token

    2、点击某一个业务链接进入第三方业务系统接口需要提供第3方鉴权链接(URL+TOKEN)链接。

    3、请求Portal首页的URL带有token时,先验证用户会话是否有效,无限则向AAA请求token认证,认证成功后重新建立用户会话。

    共同学习QQ群:793305035

  • 相关阅读:
    Selenium系列(十五)
    Selenium系列(十四)
    Selenium系列(十三)
    Selenium系列(十二)
    Linux常用命令
    Linux
    Linux常用命令
    Linux常用命令
    Mysql常用sql语句(2)- 操作数据表
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/jurendage/p/12849755.html
Copyright © 2011-2022 走看看