更新时间:2024-11-19 GMT+08:00
分享

WeLink使用OneAccess进行二次认证

OneAccess支持和WeLink的组织SSO认证功能结合,实现WeLink登录时,调用OneAccess进行二次认证,用户使用更安全。

本文主要介绍OneAccee以及WeLink实现二次认证的配置方法。

前提条件

  • 请确保您已拥有WeLink管理后台的账号。
  • 请确保您已拥有OneAccess管理门户的访问权限。

配置流程

在OneAccess中添加企业应用

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

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

在OneAccess中配置企业应用

在OneAccess中配置应用信息,确保用户可以通过OneAccess登录企业应用。

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

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

    图1 设置认证协议

  3. 在左侧导航栏选择“认证集成”,进入“认证集成(OAUTH)”的“参数配置”页签,配置认证参数。

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

    图2 配置认证参数
    表1 认证参数

    参数

    说明

    标准授权模式

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

    简化授权模式

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

    资源所有者密码模式

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

    客户端密码模式

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

    回调地址

    必填。配置Welink的回调地址,可以在WeLink帮助文档中获取:https://open.welink.huaweicloud.com/docs/#/990hh0/whokyc/ghtvia。

    退出跳转URL

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

    Access Token有效期

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

    Refresh Token有效期

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

    说明:

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

  4. 单击“保存”参数配置完成。
  5. 授权用户。

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

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

    图3 添加账号
    图4 选择用户

  6. 选择登录方式。

    在左侧导航栏分别选择“登录配置 > 网站应用”和“登录配置 > 移动应用”,可以配置WeLink二次认证页面的登录方式。

配置WeLink的组织SSO认证功能

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

  1. 获取OneAccess侧的ClientId和ClientSecret。

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

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

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

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

  3. WeLink管理后台配置组织SSO认证。

    1. 登录WeLink管理后台。
    2. 在导航栏中,选择“设置 > 登录认证”进入配置页面。
    3. 单击“编辑”,登录方式选择“组织SSO认证”,并配置相关信息。
      表2 组织SSO认证参数

      参数

      说明

      应用ID

      1中获取的OneAccess的ClientID字段值。

      应用密钥

      1中获取的OneAccess的ClientSecret字段值。

      登录授权URL

      2中获取的认证授权地址进行拼接,https://{domain_name}/api/v1/oauth2/authorize?client_id={CLIENTID}&redirect_uri={REDIRECT_URI}&scope=get_user_info&state=test&response_type=code

      (state为应用的状态值。可用于防止CSRF攻击,成功授权后回调应用时会原样带回,应用用它校验认证请求与回调请求的对应关系。可以包含字母和数字。)

      获取token URL

      2中获取的token地址。

      token输入参数

      grant_type=authorization_code&code={CODE}&client_id={CLIENTID}&client_secret={SECRET}&redirect_uri={REDIRECT_URI}&state=test

      (state为应用的状态值。可用于防止CSRF攻击,成功授权后回调应用时会原样带回,应用用它校验认证请求与回调请求的对应关系。可以包含字母和数字。)

      token输出参数

      access_token

      获取用户信息URL

      2中获取的UserInfo地址。

      Headers参数

      Authorization=Bearer {access_token}

      User输出参数

      填写的字段为user接口返回的用户账户字段,可以根据实际登录场景进行修改。

    4. 测试验证,单击“立即测试”,如果配置正常将跳转到认证界面,可以在界面输入准备好的测试账号进行体验测试,测试验证通过才可保存并切换。

Welink登录验证

WeLink登录页面,在使用WeLink账号登录成功之后,会跳转到OneAccess的登录页面,使用授权用户中的已授权用户进行登录,成功登录后,即可进入WeLink工作界面。

相关文档