# 单点登录

# 登录太极河图管理平台

1.访问 http://ip:port/admin/index.html

2.进入应用空间->客户端注册模块,

3.点击新建按钮创建一个客户端信息

应用空间

4.填写基本信息: 名称,编码,应用ID,应用端访问秘钥,授权服务器地址为必填项, 授权服务器地址为应用端认证服务器地址, 默认首页地址:http://ip:port/account/index.html(河图的固定写法,只需要替换ip和port即可)

基本信息

# 单点登录访问河图

用户请求以下地址对河图进行单点登录操作:

http://127.0.0.1:7778/[客户端应用编码]/authing/login?response_type=single&loginName=user01&appCode=hetu&client_id=[应用端ID]

[参数] response_type=single 固定写法

[参数] appCode=hetu 固定写法

如果授权服务器校验通过并成功返回,用户即可通过河图返回信息里redirect字段中的网址对河图系统进行正常访问。

基本信息

# 授权服务器认证

当用户携带loginName通过单点登录地址向河图发起访问时,河图将loginName以及其他参数通过http向授权服务器地址发起认证请求,授权服务器地址需要对loginName进行验证

授权服务器数据返回格式:

{
    "message":"操作成功",
    "code":200,
    "status":"success/error"
}

授权服务器校验过程代码参考:

    @ResponseBody
    @GetMapping(value = "/loginAuthentication")
    public Map loginAuthentication(HttpServletRequest request, String loginName, String client_id) throws Exception {

        String authorization = request.getHeader("Authorization");
        authorization = authorization.substring(6);
        /*
         * 此处打印为:dGVzdElEOktleQ==
         */
        System.out.println(authorization);
        /*
         * Base64解密
         */
        byte[] decoded = new BASE64Decoder().decodeBuffer(authorization);
        authorization = new String(decoded, StandardCharsets.UTF_8);
        /*
         * [应用端 ID]:[应用端访问秘钥]
         * 此处打印为:testID:Key
         */
        System.out.println(authorization);
        /*
         * 登录名称
         * 此处打印为:zhangsan
         */
        System.out.println(loginName);
        /*
         * 应用端 ID
         * 此处打印为:testID
         */
        System.out.println(client_id);
        
        //TODO 用户自行验证账户并返回结果
        Map<String, Object> response = new HashMap<>();
        /**
         * 此处返回成功,如下:
         *  {
         *     "message":"操作成功",
         *     "code":200,
         *     "status":"success"
         *  }
         */
        response.put("message", "操作成功");
        response.put("code", 200);
        response.put("status", "success");
        return response;
    }
Last Updated: 12/26/2023, 5:56:55 PM