使用OAuth认证源集成指南

功能介绍

# 概述

本文档描述第三方平台作为认证源头,用户仅需登录第三方平台后,可通过OAuth协议单点登录进入竹云IDaaS企业中心或用户中心,本文档供应用开发人员提供参考指导。

# 前提条件

  • 拥有IDaaS企业中心平台的管理员权限。
  • 第三方平台支持标准OAuth协议。

# 操作步骤

# 第三方平台创建OAuth应用

获取OAuth应用的client_id和client_secret参数

# IDaaS平台配置

  1. 创建OAuth认证源

    具体流程参照配置OAuth认证源

  2. 若需SSO到企业中心

    “企业中心”应用绑定OAuth认证源,并获取IDaaS的挂接地址

    进入IDaaS企业中心,访问资源 -> 应用 -> 预集成应用,找到并点击“企业中心”应用,在应用配置中,点击“登录配置”,开启OAuth认证源

    复制认证源ID

    并拼装IDaaS的挂接地址格式如下

    https://{your_domain}/api/v1/saml2/idp/sso?sp=https://{your_domain}/api/ecb/saml2/sp&config_id={认证源ID}

  3. 若需SSO到用户中心

    “用户中心”应用绑定OAuth认证源,并获取IDaaS的挂接地址

    进入IDaaS企业中心,访问资源 -> 应用 -> 预集成应用,找到并点击“用户中心”应用,在应用配置中,点击“登录配置”,开启OAuth认证源

    复制用户中心的client_id

    复制认证源ID

    并拼装IDaaS的挂接地址格式如下

    https://{your_domain}/api/v1/oauth2/authorize?response_type=code&scope=openid&client_id={用户中心的client_id}&redirect_uri=https%3A%2F%2F{your_domain}%2Fuser&config_id={认证源ID}

# 用户访问流程说明

  1. 用户登录进入到第三方平台后,访问IDaaS的挂接地址

  2. IDaaS拼装client_id/client_secret/state等参数,并将请求转发给第三方平台的认证授权Url

  3. 第三方平台验证通过后,生成临时授权code,并调用IDaaS的回调地址,将code传递给IDaaS,state需原样传递回来

    示例:https://{your_domain}/api/v1/oauth2/code?code=xxxx&state=xxxx

    注意:缺失state参数会导致请求报错invalid_request

  4. IDaaS携带code参数,并调用第三方平台的认证授权Token接口,第三方平台返回token信息给IDaaS

  5. IDaaS携带token参数,并调用第三方平台UserInfo Url,第三方平台返回当前用户信息给IDaaS

  6. IDaaS根据“关联源属性”解析并获取到当前用户的标识符,并和IDaaS系统中的“关联源属性”进行匹配,若匹配成功后生成会话,用户进行IDaaS企业中心/用户中心

# 第三方平台开发

请参考相关材料