文档首页/ 应用身份管理服务 OneAccess/ 最佳实践/ 集成企业应用/ 通过OAuth2.0协议单点登录至应用
更新时间:2024-12-18 GMT+08:00
分享

通过OAuth2.0协议单点登录至应用

概述

OAuth2.0(开放授权)是一个开放标准,允许用户授权第三方应用访问其存储在资源服务器上的信息,而不需要将用户名和密码提供给第三方应用。

基于该协议进行授权的整体流程为:

  1. 用户访问第三方应用系统,第三方应用系统向OneAccess发起授权登录请求,用户同意授权第三方应用系统后,OneAccess将携带授权码code,重定向到第三方应用系统。
  2. 第三方应用系统使用授权码code调用OneAccess的API接口换取授权令牌access_token。
  3. 第三方应用系统使用授权令牌access_token(access_token有效且未超时)调用OneAccess的API接口获取用户信息。

本文主要介绍OneAccess以OAuth协议集成应用的方法。

配置流程

前提条件

请确保您已拥有OneAccess管理门户的访问权限。

在OneAccess中添加企业应用

在OneAccess管理门户中添加企业应用,通过配置认证信息,可以建立OneAccess对企业应用的信任关系。

  1. 登录OneAccess管理门户。
  2. 在导航栏中,单击“资源 > 应用”。
  3. 在企业应用页面,单击自建应用下的“添加自建应用”,设置Logo和名称,单击“保存”。

在OneAccess中配置企业应用

在OneAccess中配置应用的信息,确保用户可以通过OneAccess登录企业应用。包括认证配置、 映射配置、授权用户。

  • 认证配置
    1. 单击在OneAccess中添加企业应用中添加的企业应用,在应用信息页面单击应用图标。
    2. 在通用信息模块,单击“认证集成”后的打开认证集成设置,此处选择“OAuth”协议,单击“保存”。

      应用认证集成协议一旦设置不可修改。

      图1 设置认证协议
    3. 在通用信息模块,单击“认证集成”后的“配置”,进入“认证集成(OAUTH)”的“参数配置”页签。

      配置参数会明文展示所输入的信息,请防止信息泄露。

      表1 认证参数

      参数

      说明

      标准授权模式

      默认开启。是最常用,安全性也最高的一种认证模式,适用于有后端的Web应用。该模式下,授权码通过前端传送,令牌存储在后端,可以避免令牌泄漏,而且所有与资源服务器的通信都在后端完成。具体的标准授权模式可参考概述

      简化授权模式

      默认关闭。适用于没有后端的Web应用,必须将令牌存储在前端,用于一些对安全要求不高的场景。与标准授权模式相比,省略了获取授权码code环节。

      资源所有者密码模式

      默认关闭。适用于用户对客户端高度信任的场景,用户将用户名和密码提供给客户端,由客户端申请令牌。

      客户端密码模式

      默认关闭。适用于没有前端的应用,由客户端发起申请令牌请求。

      回调地址

      必填。成功授权后的回调地址,必须在可信域名范围内(多个域名以逗号分隔),建议设置为应用首页。如https://example.com。

      退出跳转URL

      可选。应用退出地址。用户在OneAccess注销会话后返回绑定的地址。

      Access Token有效期

      授权令牌的有效期,默认2小时,以秒为单位。

      Refresh Token有效期

      刷新令牌的有效期,默认0,即不支持Refresh Token。当Access Token过期后,用户可通过Refresh Token实现自动更新令牌。

      说明:

      实现自动更新令牌的前提是设置Refresh Token有效期大于Access Token的有效期。

  • (可选)映射配置
    在认证配置页面,选择“映射配置”页签,单击“添加映射”,建立OneAccess与应用端属性的映射。
    表2 映射参数

    参数

    说明

    应用系统属性名

    必填。认证成功后,OneAccess返回给应用的用户属性。

    映射类型

    必填。不同的映射类型决定不同接口返回属性的属性值,可在下拉框按需选择。

  • 授权用户

    选择左侧的“授权管理 > 应用账号”,单击“添加账号”,授权访问应用的账号。如需根据策略给用户授权,请参考配置应用中应用账号的授权策略

    登录配置、访问控制、对象模型等设置请参考配置应用

建立企业应用对OneAccess的信任关系

在企业应用中配置OneAccess的授权信息,以建立企业应用对OneAccess的信任。

  1. 获取OneAccess侧的ClientId和ClientSecret。

    单击在OneAccess中添加企业应用中添加的企业应用,在应用信息页面单击应用图标,在应用详情页面获取ClientId和ClientSecret。

    • ClientSecret需单击“启用”生成。
    • ClientSecret是校验开发者身份的密码,具备高安全性,切勿将其直接提供给第三方开发者或直接存储在代码中。
    • 重置后的ClientSecret即时生效,所有使用原ClientSecret的接口将全部失效,请谨慎重置。
    • OneAccess不存储ClientSecret,当获取ClientSecret后,请妥善保管。
    图2 获取ClientId和ClientSecret

  2. 获取OneAccess侧的认证信息。

    1. 登录OneAccess管理门户。
    2. 在导航栏中,选择“设置 > 服务配置”进入服务配置页面。
    3. 单击“OIDC”。
    4. 在弹出的OIDC页面,查看认证地址。

  3. 获取企业应用的授权信息。获取方法请参见应用提供商的帮助文档。

OneAccess用户登录验证

使用授权用户中的已授权用户访问用户门户,成功登录以后,单击目标应用即可进入企业应用。

相关文档