第三方系统对接若依框架实现单点登录


前言

A系统跳转若依系统,由于在A系统已实现登录,所以跳转到这边无需再来一次登录


一、实现思路

1)在A系统配置一个新的菜单(指向一个没有任何样式的前端页面a.html/a.js),作用:在A系统点击此菜单执行封装跳转; 2)在a.js中进行封装需要跳转需要的参数信息(若依系统的token-调用接口拿取, 用户名、密码-A系统配置),然后执行跳转;

3)若依系统配置A系统拿取token请求白名单,校验用户名密码合法性,获取token返回A系统;

4)若依系统配置A系统免密登录请求白名单,校验用户名密码合法性,A系统token的合法性,若依系统token合法性,执行免密登录操作;

二、使用步骤

1.第三方系统侧改造

1)创建空的a.html页面,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=8;IE=9;IE=10;IE=11;IE=EDGE" />
    <title>A系统</title>
    <script type="text/javascript" src="../../libs/js/head.js"></script>
    <script type="text/javascript" src="../js/third-system-info.js"></script>
</head>
<body>
</body>
</html>

2)创建对应的a.js页面,内容如下:

let param = {};
function initComplete() {
    #localService指的是当前服务后端,即上下文
    holly.post(localService + "/thirdsystem/self/getThirdData", param, function (e) {
        let data = e.RSP.DATA;
        if (e.MSG === "SUCCESS" && e.STATUS === "0000" && e.RSP.RSP_CODE === "0000" && data !== "") {
            let token = data.token;
            let url = data.selfUrl;
            let encryptWord = data.encryptWord;
            if (token && token.code == '200') {
                token = data.token.token;
                url += "token=" + token + "&aToken=" + data.aToken + "&encryptWord=" + encryptWord;
                window.open(url);
            }else{
  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第三方系统对CAS(Central Authentication Service)RESTful口是指将第三方系统与CAS系统进行集成,使得第三方系统可以通过调用CAS的RESTful口来实现用户认证和授权功能。 第三方系统与CAS系统对的过程通常包括以下几个步骤: 1. 配置CAS服务器:在CAS服务器上进行相关配置,包括定义用户认证的方式(例如用户名密码、单点登录等)和认证成功后的返回数据格式等。 2. 入CAS客户端:在第三方系统中集成CAS客户端,通过CAS客户端与CAS服务器建立连。 3. 请求认证:当用户访问第三方系统时,第三方系统将用户请求重定向到CAS服务器的认证口,进行用户认证。 4. 获取票据:用户在CAS服务器上成功认证后,CAS服务器会返回一个票据(ticket),第三方系统将该票据作为参数发送给CAS服务器的票据校验口。 5. 校验票据:CAS服务器收到票据后,通过票据校验口验证票据的有效性,并返回相应的认证结果给第三方系统。 6. 授权访问:验证成功后,第三方系统可以根据CAS服务器返回的用户信息来进行授权访问,如获取用户的角色、权限等。 7. 注销认证:当用户退出第三方系统时,第三方系统需要调用CAS的注销口来注销用户的认证信息。 通过以上步骤,第三方系统可以通过CAS的RESTful口进行用户认证和授权,实现了统一的登录认证和单点登录功能,提升了系统的安全性和用户体验。 ### 回答2: 第三方系统对CAS RESTful口,首先需要了解CAS(Central Authentication Service)是什么。CAS是一种单点登录(Single Sign-On)协议,提供了认证和授权的功能,可以实现不同系统之间的用户身份单点登录和安全交互。 对CAS RESTful口的过程一般包括以下几个步骤: 1.了解CAS RESTful口文档:首先需要仔细阅读CAS RESTful口的文档,了解口的功能、参数及返回值。 2.注册第三方系统:在CAS系统中注册第三方系统的信息,包括系统名称、系统URL等。注册后会获得一个唯一的系统凭证。 3.获取CAS登录凭证:第三方系统需要通过CAS RESTful口向CAS系统发送登录请求,包括用户名和密码等信息。CAS系统会验证用户身份,并返回给第三方系统一个登录凭证,通常是一个token或者ticket。 4.验证CAS登录凭证:第三方系统拿到登录凭证后,需要将凭证作为参数发送给CAS RESTful口进行验证。如果凭证有效,CAS系统会返回相应的用户信息给第三方系统。 5.其他口调用:一旦用户身份验证成功,第三方系统可以调用CAS RESTful提供的其他口,进行用户授权、访问受限资源等操作。 6.处理CAS回调:CAS系统会通过回调机制通知第三方系统用户的登录状态变化等重要事件。第三方系统需要相应地处理这些回调,确保与CAS系统的同步更新。 总的来说,对CAS RESTful口需要进行注册、登录凭证获取和验证、其他口调用等步骤。通过正确地使用CAS RESTful口,第三方系统可以实现与CAS系统的安全交互和用户身份认证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值