Authing 文档文档
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
旧版
使用指南
  • 快速开始

  • 对用户进行认证

  • 对用户进行权限管理

  • 用户自助服务

  • 授权

  • 自适应 MFA

  • 管理用户账号

  • 管理用户目录

  • 同步中心

  • 应用

    • 自建应用

      • 创建自建应用
      • 快速开始
      • 应用配置
      • 协议配置

      • 登录控制
      • 访问授权
      • 品牌化
      • 安全管理
      • 高级配置
      • 租户配置
    • 单点登录 SSO

  • 成为联邦认证身份源

  • 连接外部身份源(IdP)

  • 微信生态全场景能力

  • 迁移用户到 Authing

  • 管理组织机构

  • 安全设置

  • 品牌化

  • 自动化

  • 审计日志

  • 设置

  • Authing 令牌
  • 私有化部署方案

  • 常见问题 FAQ

¶ 协议配置

路径:应用->自建应用->应用详情->协议配置

¶ 协议是什么?

首先需要明确的是:协议是在认证场景下发挥作用的。

那么,为什么用户需要认证?

最直接的原因是,管理员需要为用户能够访问的内容设定边界,特定的用户完成身份认证之后,登录至特定的应用,在这个过程中,系统管理员通过功能的配置实现了对用户的「授权」。

在 Authing 提供的身份认证模型下,这种对用户的授权发生在用户完成身份认证的过程中,通过协议来明确这个授权流程中,客户端和服务端之间进行信息传输和验证的细节。

也就是说,这里我们讨论的「协议」,即用户在完成身份认证过程中,管理员对用户进行「授权」时所遵循的标准流程和规则。

如果你对「授权」的概念还不清晰,请前往阅读:什么是授权?

¶ Authing 支持的协议类型

¶ OIDC

1.定义

OpenID Connect 是基于 OAuth 2.0 的身份认证协议,OIDC 的授权流程与 OAuth 2.0 一样,主要区别在于 OIDC 授权流程中会额外返回 Id Token。

2.关键主体

除 OAuth2.0 已经规定的主体之外,在 OIDC 协议中,**「授权服务器」**不仅签发 Access Token,同时也签发 ID Token。

3.基本元素

除 OAuth2.0 已经规定的关键元素之外,增加Id Token:由 OpenID Provider 颁发,包含关于终端用户的信息字段。

更详细的描述请阅读:OAuth2.0 与 OIDC 解读。如果你想了解更多的 OIDC 内容,可以阅读协议规范 (opens new window)。

¶ OAuth2.0

1.定义

OAuth2.0 是一个关于授权的标准协议。一次 OAuth 2.0 授权是指用户授权调用方相关的权限。

2.关键主体

  • 授权服务器:负责颁发 Access Token,Authing 是授权服务器。
  • 资源所有者:你的应用的用户是资源的所有者,授权其他人访问他的资源。
  • 调用方:调用方请求获取 Access Token,经过用户授权后,Authing 为其颁发 Access Token。调用方可以携带 Access Token 到资源服务器访问用户的资源。
  • 资源服务器:接受 Access Token,然后验证它的被赋予的权限项目,最后返回资源。

3.基本元素

  • Code 授权码:由授权服务器 Authing 颁发的,用于调用方使用 Code 换取 Token。
  • Access Token:由授权服务器 Authing 颁发,持有 Access Token 说明完成了用户授权。
  • Refresh Token:一个可选的 Token,用于在 Access Token 过期后获取一个新的 Access Token。

4.常见的授权模式

  • 在你的应用中,让用户访问登录链接,浏览器跳转到 Authing,用户在 Authing 完成认证。
  • 浏览器接收到一个从 Authing 服务器发来的授权码。
  • 浏览器通过重定向将授权码发送到你的应用后端。
  • 你的应用服务将授权码发送到 Authing 获取 AccessToken,如果需要,还会返回 refresh token。
  • 你的应用后端现在知道了用户的身份,后续可以保存用户信息,重定向到前端其他页面,使用 AccessToken 调用资源方的其他 API 等等。

更详细的描述请阅读:OAuth2.0 与 OIDC 解读。如果你想了解更多的 OAuth 2.0 内容,可以阅读协议规范 (opens new window)。

¶ SAML2.0

1.定义

应用(SP)需要知道用户的身份,就需要向身份提供方(IdP)询问。IdP 知道用户的身份,当用户在 IdP 登录成功,IdP 就将用户的身份以 SAML 断言的形式发给 SP。SP 信任 IdP 发来的身份断言,从而赋予该用户在 SP 的相关权限。

2.关键主体

  • 服务提供方(Service Provider):应用本身
  • 身份提供方(Identity Provider):向 SP 提供身份的对象;Authing 可以作为身份提供方,还有一些其他的身份提供方,例如 Okta、SSOCircle、Auth0,他们都可以向 SP 返回身份断言。

3.基本元素

Assertion:XML 格式的身份断言。身份提供方能够向 SP 发送身份断言,所谓身份断言就是由 Authing 签发的,可以标识某个人身份的 Token,只不过,在 SAML 协议中,这个 Token 的格式是 XML 形式的。

更详细的描述请阅读:SAML 协议解读。如果你想了解更多的 OIDC 内容,可以阅读协议规范 (opens new window)。

¶ CAS

1.定义

CAS 是一种单点登录协议,允许网站对用户进行身份验证。他可以为多个应用提供单点登录解决方案。与 OAuth 和 OIDC 不同的是,CAS 是一种对用户进行身份验证的工具;而授权是基于实际的应用的。

2.关键主体

  1. 应用(SP):可以是有前端页面的 Web 应用,也可以是仅有后端服务的数据库服务器
  2. 浏览器:应用程序通过浏览器来与 CAS 服务器进行通信
  3. CAS 服务器

3.基本元素

应用服务(SP)和 CAS 服务器通过 Ticket 进行验证结果的通信。

4.常见的认证授权流程

  • 用户尝试访问尚未验证的应用
  • 用户被重定向到 CAS 服务器(Authing 可以作为 CAS 服务器)
  • 用户在 CAS 服务器提供的认证页面完成身份验证,CAS 服务器验证用户是否是可信的
  • 认证成功后生成 Ticket 作为认证成功的凭证,附加在 URL 上进行返回
  • 应用(SP)向 CAS 服务器发送请求,验证 Ticket 是否有效,通过验证后回调至应用(SP)

如果你想了解更多 CAS 相关的内容,可以阅读协议规范 (opens new window)。

¶ 在什么情况下你需要进行协议配置?

Authing 的所有自建应用默认基于 OIDC 协议进行认证和授权。如果你的应用需要基于其他的协议类型进行认证授权流程的实现,你可以在「协议配置」功能区开启对应类型的协议,并完成配置。

¶ 协议配置的步骤

¶ 第一步: 创建自建应用并找到配置区

创建自建应用后,找到「协议配置」功能区:

Untitled

¶ 第二步: 完成协议配置

¶ 配置 OIDC 协议

1.选择合适的授权模式

当你创建完成自建应用后,Authing 默认使用 OIDC 的授权码(authorization code)模式。如果需要更换授权模式,请提前查阅文档以判断授权模型与你的实际情况的契合程度:选择合适的 OIDC 授权模式

2.完成授权模式下的配置

确定要选择的授权模式后,你可以根据这里的指引完成对应授权模式下的功能配置:OIDC 授权模式配置

3.配置 Claim 和 Scope

这是 Authing 对于 OIDC 协议支持的高级功能,你可以在此:

  • 查看 Authing 默认的 Claim 及其与 Authing 用户字段之间的映射关系
  • 创建自定义 Claim,并自定义这些 Claim 的映射关系
  • 查看 Authing 默认的 Scope 及其包含的 Claim
  • 创建自定义 Scope,并自定义每这些 Scope 中携带的 Claim

更多关于 Authing 默认的 Scope 与 Claim 相关信息以及该功能的具体使用方式,请查看:自定义 OIDC Scope

¶ 配置 OAuth2.0 协议

1.选择合适的授权模式

在授权模型上,OIDC 是 OAuth2.0 的超集。因此,你可以参考 OIDC 的授权模式选择与你的场景相符的类型:选择合适的 OAuth 授权模式

2.完成授权模式下的配置

确定要选择的授权模式后,你可以根据这里的指引完成对应授权模式下的功能配置:OAuth 授权模式配置

¶ 配置 SAML 协议

在「SAML2 身份提供商」卡片中,打开启用 SAML2 Provider 开关,填写默认 ACS 地址 和设置信息。然后点击保存。具体的 ACS 地址 SAML SP 方会提供,具体的设置项需要根据 SAML SP 方的要求进行配置。更详细的配置流程请参考:配置 SAML 协议

¶ 配置 CAS 协议

在「CAS 」卡片中,打开启用 CAS IdP 开关,输入你的用户唯一标识,如:${user.username}

点击保存后即可完成配置。更详细的配置流程请参考:配置 CAS 协议

¶ 第三步: 选择默认协议类型

完成配置后,如果你直接使用托管登录页,那么你可以直接在「默认协议类型」中切换至你新配置的协议类型:

协议配置2

  • 协议是什么?
  • Authing 支持的协议类型
  • 在什么情况下你需要进行协议配置?
  • 协议配置的步骤

用户身份管理

集成第三方登录
手机号闪验 (opens new window)
通用登录表单组件
自定义认证流程

企业内部管理

单点登录
多因素认证
权限管理

开发者

开发文档
框架集成
博客 (opens new window)
GitHub (opens new window)
社区用户中心 (opens new window)

公司

400 888 2106
sales@authing.cn
北京市朝阳区北辰世纪中心 B 座 16 层(总)
成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

京ICP备19051205号

beian京公网安备 11010802035968号

© 北京蒸汽记忆科技有限公司