员工身份(EIAM)

使用IDaaS认证接口的ID Token实现单点登录

集成方案

# 场景描述

适用于第三方应用基于IDaaS用户做认证,调用IDaaS用户登录接口生成的ID Token,实现免密登录到已与IDaaS集成的各应用系统。

# 单点登录流程

用户先登录门户应用A,在通过门户应用A访问应用B实现单点登录

# 集成步骤

# IDaaS企业中心创建应用

  1. 登录IDaaS企业中心,创建应用

  2. 开启认证集成,获取应用ClientId

# IDaaS企业中心配置OIDC认证源

  1. 登录IDaaS企业中心,创建OIDC认证源

    配置名称 备注
    认证方式 选择“认证源发起认证”
    公钥格式 选择“JSON格式公钥”
    公钥 访问链接https://{your_domain}/api/v1/oauth2/keys,获取RS256的公钥,见下图
    签名算法 固定“RS256”
    Audience 填写应用的ClientId
    调用地址 用于接收认证源放返回id_token的回调地址,添加完后自动生成
    关联源属性 id_token解析后存在的属性key,推荐填写用户名userName
    关联用户属性 IDaaS平台用户唯一属性,推荐选择用户名userName

    公钥获取

# 第三方平台调用IDaaS用户登录接口

  1. 第三方平台登录时调用用户API-登录接口,获取id_token

# 第三方平台调用IDaaS单点登录接口

  1. 基于OIDC认证源端发起认证,调用IDaaS提供的OIDC回调地址完成认证

    请求说明

    • 请求地址 https://{your_domain}/api/v1/openid/id_token/{idpId}

    • 请求方式 GET

    • 请求参数

      参数名 中文名称 必须 类型 示例
      id_token ID Token 必须 String
      redirect_to 重定向地址 可选 String 需要访问的目标应用系统的访问地址
      参数为空时默认跳转IDaaS用户中心
      可针对此地址配置白名单
    • 请求示例

      https://{your_domain}/api/v1/openid/id_token/202208231445-0FE9-93C4AFCDA?id_token=eyJhbGciOiJJ9.eyJzdWIiOiJ6aG91eGNoIiwiaWQiOiIyMDIyMTIyMDE1zIjdlIZmFiMDVkNTg3YyJ9.bfCdG5PcttXzoEA8kuOf81SrQ&redirect_to=https://demo.com
      
      1
    • 返回示例

      HTTP Status: 302 REDIRECT [https://demo.com]
      
      1