应用综述
路径:应用
应用模块下包含 自建应用 及 单点登录SSO:
你可以在 自建应用 菜单创建业务应用,配置该应用的注册 / 登录方式,控制访问权限,自定义登录框、安全规则,配置登录时是否开启应用授权,以及配置可以访问本应用的主体。GenAuth 作为服务提供商(SP),可将 APP 集成至 GenAuth;作为身份提供商(IDP),可使用 GenAuth 进行认证。
你可以在 单点登录SSO 菜单集成企业自建应用及应用市场中第三方应用。通过集成多个业务应用,单点登录帮助企业进行系统整合,用户只需登录一次就可以访问所有相互信任的应用系统。
自建应用综述
路径:应用->自建应用
在 GenAuth 中,用户池 是租户隔离的最小单位,存储了用户系统中所有的用户数据;而应用则对应的是现实中创建的业务应用。一个用户池可能会有多个应用,比如一个学校所有的学生在一个用户池里,而学校会同时开发了选课应用、邮箱应用、师生服务中心等多个应用,这些应用会使用同一个用户系统。你可以在此了解更多 应用相关的介绍。
要管理租户的应用资源,你可以作以下几件事:
将所有的应用资源集成至你的 GenAuth 用户池,为此需要逐一 创建自建应用。自建应用 页展示当前用户池所有自建应用列表。
配置登录界面和登录方式:
完成配置后,你还可以进行如下操作:
- 数据概览:展示访问当前应用的登录和用户统计数据。
- 接入教程:链接至 开发集成 文档,帮助用户了解 GenAuth 如何通过各语言 SDK 集成当前应用。
- 体验登录:管理员在完成应用相关的配置后可以点击此按钮模拟用户的登录流程,以验证配置效果。
创建自建应用
路径:应用->自建应用
你可以在 自建应用 页面查看所有自建应用。

要创建新的自建应用,执行以下步骤:
点击页面右上角 创建自建应用 按钮。
在弹出窗口填写如下信息:
应用名称:指定应用名。
认证地址:输入二级域名,必须为合法的域名格式(只允许包含英文、数字和 ‘-’,例如
my-awesome-app)。选择类型:按照你的业务应用的实际类型对应选择在 GenAuth 的应用类型。
点击 创建 按钮。
快速开始
路径:应用->自建应用->应用详情->快速开始
各应用的 快速开始 标签页将会简要介绍如何安装并使用各语言 SDK 为已有或新开发应用快速认证、管理用户,并提供常见错误处理的方法。
INFO
此部分仅提供快速引导。关于各语言 SDK 的使用详情,可以点击页面右上角链接访问开发手册相应章节。

应用配置
路径:应用->自建应用->应用详情->应用配置
当你想要使用 GenAuth 作为服务提供商(Service Provider, SP),你可以在 应用配置 页完成应用 基本信息 和 认证相关 的配置,同时在将自建应用集成到 GenAuth 时将会需要使用 端点信息(例如 App ID、App Secret 等)以及 认证配置(认证地址)中的相关信息。

| 字段 | 说明 |
|---|---|
| 认证配置->登录回调 URL | 此链接需要填写你的业务回调地址,用户在此应用登录之后,浏览器将会跳转到这个地址,你可以在这里换取用户信息。示例:https://myawesomeapp.com/login/callback。 |
| 发起登录 URL | 在 GenAuth 应用详情点击 体验登录 或在应用面板点击该应用图标时,会跳转到此 URL,默认为本应用的登录页。 |
协议配置
路径:应用->自建应用->应用详情->协议配置
协议是什么?
首先需要明确的是:协议是在认证场景下发挥作用的。
那么,为什么用户需要认证?
最直接的原因是,管理员需要为用户能够访问的内容设定边界,特定的用户完成身份认证之后,登录至特定的应用,在这个过程中,系统管理员通过功能的配置实现了对用户的「授权」。
在 GenAuth 提供的身份认证模型下,这种对用户的授权发生在用户完成身份认证的过程中,通过协议来明确这个授权流程中,客户端和服务端之间进行信息传输和验证的细节。
也就是说,这里我们讨论的「协议」,即用户在完成身份认证过程中,管理员对用户进行「授权」时所遵循的标准流程和规则。
如果你对「授权」的概念还不清晰,请前往阅读:什么是授权?
GenAuth 支持的协议类型
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 内容,可以阅读协议规范。
OAuth2.0
1.定义
OAuth2.0 是一个关于授权的标准协议。一次 OAuth 2.0 授权是指用户授权调用方相关的权限。
2.关键主体
- 授权服务器:负责颁发 Access Token,GenAuth 是授权服务器。
- 资源所有者:你的应用的用户是资源的所有者,授权其他人访问他的资源。
- 调用方:调用方请求获取 Access Token,经过用户授权后,GenAuth 为其颁发 Access Token。调用方可以携带 Access Token 到资源服务器访问用户的资源。
- 资源服务器:接受 Access Token,然后验证它的被赋予的权限项目,最后返回资源。
3.基本元素
- Code 授权码:由授权服务器 GenAuth 颁发的,用于调用方使用 Code 换取 Token。
- Access Token:由授权服务器 GenAuth 颁发,持有 Access Token 说明完成了用户授权。
- Refresh Token:一个可选的 Token,用于在 Access Token 过期后获取一个新的 Access Token。
4.常见的授权模式
- 在你的应用中,让用户访问登录链接,浏览器跳转到 GenAuth,用户在 GenAuth 完成认证。
- 浏览器接收到一个从 GenAuth 服务器发来的授权码。
- 浏览器通过重定向将授权码发送到你的应用后端。
- 你的应用服务将授权码发送到 GenAuth 获取 AccessToken,如果需要,还会返回 refresh token。
- 你的应用后端现在知道了用户的身份,后续可以保存用户信息,重定向到前端其他页面,使用 AccessToken 调用资源方的其他 API 等等。
更详细的描述请阅读:OAuth2.0 与 OIDC 解读。如果你想了解更多的 OAuth 2.0 内容,可以阅读协议规范。
SAML2.0
1.定义
应用(SP)需要知道用户的身份,就需要向身份提供方(IdP)询问。IdP 知道用户的身份,当用户在 IdP 登录成功,IdP 就将用户的身份以 SAML 断言的形式发给 SP。SP 信任 IdP 发来的身份断言,从而赋予该用户在 SP 的相关权限。
2.关键主体
- 服务提供方(Service Provider):应用本身
- 身份提供方(Identity Provider):向 SP 提供身份的对象;GenAuth 可以作为身份提供方,还有一些其他的身份提供方,例如 Okta、SSOCircle、Auth0,他们都可以向 SP 返回身份断言。
3.基本元素
Assertion:XML 格式的身份断言。身份提供方能够向 SP 发送身份断言,所谓身份断言就是由 GenAuth 签发的,可以标识某个人身份的 Token,只不过,在 SAML 协议中,这个 Token 的格式是 XML 形式的。
更详细的描述请阅读:SAML 协议解读。如果你想了解更多的 OIDC 内容,可以阅读协议规范。
CAS
1.定义
CAS 是一种单点登录协议,允许网站对用户进行身份验证。他可以为多个应用提供单点登录解决方案。与 OAuth 和 OIDC 不同的是,CAS 是一种对用户进行身份验证的工具;而授权是基于实际的应用的。
2.关键主体
- 应用(SP):可以是有前端页面的 Web 应用,也可以是仅有后端服务的数据库服务器
- 浏览器:应用程序通过浏览器来与 CAS 服务器进行通信
- CAS 服务器
3.基本元素
应用服务(SP)和 CAS 服务器通过 Ticket 进行验证结果的通信。
4.常见的认证授权流程
- 用户尝试访问尚未验证的应用
- 用户被重定向到 CAS 服务器(GenAuth 可以作为 CAS 服务器)
- 用户在 CAS 服务器提供的认证页面完成身份验证,CAS 服务器验证用户是否是可信的
- 认证成功后生成 Ticket 作为认证成功的凭证,附加在 URL 上进行返回
- 应用(SP)向 CAS 服务器发送请求,验证 Ticket 是否有效,通过验证后回调至应用(SP)
如果你想了解更多 CAS 相关的内容,可以阅读协议规范。
在什么情况下你需要进行协议配置?
GenAuth 的所有自建应用默认基于 OIDC 协议进行认证和授权。如果你的应用需要基于其他的协议类型进行认证授权流程的实现,你可以在「协议配置」功能区开启对应类型的协议,并完成配置。
协议配置的步骤
第一步: 创建自建应用并找到配置区
创建自建应用后,找到「协议配置」功能区:

第二步: 完成协议配置
配置 OIDC 协议
1.选择合适的授权模式
当你创建完成自建应用后,GenAuth 默认使用 OIDC 的授权码(authorization code)模式。如果需要更换授权模式,请提前查阅文档以判断授权模型与你的实际情况的契合程度:选择合适的 OIDC 授权模式
2.完成授权模式下的配置
确定要选择的授权模式后,你可以根据这里的指引完成对应授权模式下的功能配置:OIDC 授权模式配置
3.配置 Claim 和 Scope
这是 GenAuth 对于 OIDC 协议支持的高级功能,你可以在此:
- 查看 GenAuth 默认的 Claim 及其与 GenAuth 用户字段之间的映射关系
- 创建自定义 Claim,并自定义这些 Claim 的映射关系
- 查看 GenAuth 默认的 Scope 及其包含的 Claim
- 创建自定义 Scope,并自定义每这些 Scope 中携带的 Claim
更多关于 GenAuth 默认的 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 协议
第三步: 选择默认协议类型
完成配置后,如果你直接使用托管登录页,那么你可以直接在「默认协议类型」中切换至你新配置的协议类型:

自定义 OIDC Scope
使用场景
通过自定义 Scope 以及其中的 Claim 来自定义 ID Token 返回的用户信息。
OIDC Scope 功能配置
创建自建应用后,你可以在「协议配置」功能区下找到「OIDC」功能区,并找到「OIDC Scope 配置」。

Claim 配置
默认 Claim
| Claim 名称 | 映射的 GenAuth 用户字段 |
|---|---|
| sub | userId |
| name | name |
| address | address |
| username | username |
| email_verified | emailVerified |
| phone_number | phone |
| phone_number_verified | phoneVerified |
| birthdate | birthdate |
| family_name | familyName |
| gender | gender |
| given_name | givenName |
| locale | locale |
| middle_name | middleName |
| name | name |
| nickname | nickname |
| picture | picture |
| preferred_username | preferredUsername |
| profile | profile |
| updated_at | updatedAt |
| website | website |
| zoneinfo | zoneinfo |
| external_id | externalId |
| userpool_id | userpoolId |
| formatted | formatted |
| street_address | streetAddress |
| postal_code | postalCode |
| country | country |
自定义 Claim
如果上述的默认 Claim 仍不满足你期望返回的用户字段,那么你可以创建自定义 Claim,并自定义配置你的 Claim 映射到哪个 GenAuth 用户字段(基础字段或拓展字段)。
第一步: 点击「新增一项映射」

第二步: 编辑你的自定义 Claim 的名称

第三步: 配置自定义 Claim 映射的GenAuth 用户字段

Scope 配置
默认 Scope
| Scope 名称 | 包含的 Claim | 描述 |
|---|---|---|
| offline_access | / | 如果存在此参数,token 接口会返回 refresh_token 字段 |
| openid | sub | 用于存放用户 ID |
| username | username | 用户名 |
| address | address | 用户地址 |
| email, email_verified | 用户邮箱及验证状态 | |
| phone | phone_number, phone_number_verified | 用户手机号及验证状态 |
| profile | birthday, family_name, gender, given_name, locale, middle_name, name, nickname, picture, preferred_username, profile, updated_at, website, zoneinfo | 用户详细信息 |
| roles | roles | 对应 role 信息,用户的角色列表 |
| external_id | externalId | 用户在原有系统的用户 ID |
| extended_fields | extended_fields | 用户的扩展字段信息,内容为一个对象,key 为扩展字段名,value 为扩展字段值 |
自定义 Scope
如果上述的默认 Scope 仍不满足你期望返回的用户字段,那么你可以创建自定义 Scope,并自定义配置你的 Scope 中将要包含哪些 Claim。
第一步: 点击「新建自定义 Scope」

第二步: 修改你的自定义 Scope 的名称

第三步: 配置自定义 Scope 中包含的 Claim

使用自定义 Scope & Claim
- 使用托管登录页:GenAuth 将会默认返回所有的预置 Scope 以及你的自定义 Scope。
- 使用 SDK 直接调用:你可以自由选取调用所有你完成配置的 Scope 及其包含的 Claim。
登录控制
路径:应用->自建应用->应用详情->登录控制
登录体验是软件开发者需要考虑的最重要的用户体验之一,为用户提供一个无缝、便捷而又安全的认证体验不是一件很容易的事。一般而言,登录逻辑同时关联着注册、重置密码、关联账号等。更重要的是,在登录过程中以强健和自适应身份验证的形式增强安全性通常对于许多实现至关重要。
GenAuth 中每个用户池都拥有一个独立的二级域名,并配备了在线的登录页,访问该应用的地址即可打开本应用的登录页面。GenAuth 提供了非常多的认证方式给开发者选择、组合。你不需要编写一行代码,可以通过托管页自建应用的 登录控制 维护登录页,并做一些定制化配置。
登录控制 选项卡支持以下几种登录 / 注册方式:

多种登录 / 注册方式支持 Web 端、移动端、小程序等多种交叉实现场景。有关详情,请参阅 对用户进行认证 下相关章节。
账号密码登录、验证码登录及移动端 APP 扫码登录可以在 登录控制 标签页实现登录注册分页和登录注册合并。下面会分别介绍各类登录 / 注册方式。
登录注册分页
下文分别描述登录和注册分页显示的多种场景。
登录页
你可以配置通过密码、验证码及扫码方式登录应用。
GenAuth 提供以下几种登录组合:
- 手机号 + 密码
- 邮箱 + 密码
- 用户名 + 密码
- 手机号 + 验证码
- 邮箱 + 验证码
- 移动端 APP 扫码
配置登录方式
要在托管页配置登录方式,执行以下步骤:
- 在 登录控制->登录注册方式->登录注册分页->登录方式 下勾选所需登录方式。
- 选择 默认登录方式。
INFO
默认登录方式是指跳转至登录页时,默认选中的登录方式(密码、验证码、扫码)。
- 点击 保存 按钮保存配置。
使用密码、验证码、扫码登录

管理员可以通过 体验登录 按钮体验配置的各种登录方式。
要使用账号密码登录应用,执行以下步骤:
- 在上方输入框输入手机号 / 邮箱 / 用户名。
- 在下方输入框输入登录密码。
- 点击 登录 按钮。
对于验证码登录,执行以下步骤:
- 在上方输入框输入手机号 / 邮箱。
- 点击 发送验证码。
- 在下方输入框输入手机 / 邮箱收到的验证码。
- 点击 登录 按钮。
INFO
扫码登录功能前提是客户既有网页端应用,也有移动端 APP,并已登录移动端。此时,可使用移动端 APP 扫码登录。
对于移动端 APP 扫码登录,执行以下步骤:
- 在移动端点开此应用。
- 使用移动端 APP 扫码网页端登录框。
忘记密码
你若忘记密码,执行以下步骤找回密码:
- 点击登录框左下角 忘记密码。
- 输入手机号 / 邮箱。
- 点击 发送验证码。
- 输入验证码。
- 输入新密码。
- 点击 确认 按钮。
提示重置成功,返回登录页重新登录。
注册页
你可以通过密码、验证码方式注册应用。
GenAuth 提供以下几种注册组合:
- 邮箱 + 密码
- 手机号 + 验证码
- 邮箱 + 验证码
配置注册方式
要在托管页配置注册方式,执行以下步骤:
- 在 登录控制->登录注册方式->登录注册分页->注册方式 下勾选所需登录方式。
- 选择 默认注册方式。
INFO
默认注册方式是指跳转至注册页时,默认打开的注册页面(密码注册、验证码注册)。
- 点击 保存 按钮保存配置。
使用密码、验证码注册

要使用密码注册应用,执行以下步骤:
- 在上方输入框输入邮箱。
- 在下方输入框输入密码,并再次确认。
- 点击 注册 按钮。
对于验证码注册,执行以下步骤:
- 在上方输入框输入手机号 / 邮箱。
- 点击 发送验证码。
- 在下方输入框输入手机 / 邮箱收到的验证码。
- 点击 注册 按钮。
登录注册合并
登录和注册合并显示支持以下多种场景:

INFO
对于登录注册分页和登录注册合并两种显示形式,登录和注册的配置和使用方法类似,可参阅登录注册分页部分了解详情。
社会化登录方式
社会化登录,是指用户使用社交平台的身份认证信息在第三方应用或网址进行认证登录的流程,比如大家经常使用个人微信、QQ、微博等社交账号登录滴滴、网易云音乐等。
社会化登录不仅有助于简化用户在第三方平台的登录体验,同时也为用户在第三方平台创建新账号提供了一种更为简单便捷的方式。不论是对于普通用户来说,还是企业来说,社会化登录都有着无可比拟的优势。
GenAuth 目前共支持国内外近 30 种 社会化登录,如 微信、GitHub、Apple、支付宝 等。
INFO
你需要先创建待使用的社会化身份源,才可在 自建应用->登录控制 标签页选择已创建的身份源。

要为单个应用添加社会化身份源,执行以下步骤:
- 在应用详情页选择 登录控制->社交登录方式。
- 点击 +添加身份源,打开 选择社会化身份源 页面。
- 选择目标社会化身份源进行添加。
除了集成现有第三方社会化身份源,管理员还可以连接自定义社会化登录。
有关社会化登录方式详细介绍,请参阅 社会化身份源。
企业登录方式
企业身份源登录,是指用户使用企业的身份认证信息在公司内部应用或第三方应用进行认证登录的流程。在 GenAuth 控制台中,企业身份源包含两类:办公应用(比如飞书、企业微信、钉钉)与标准协议应用(比如 OIDC、SAML、CAS 等标准协议)。你可以通过配置企业身份源连接,实现使用第三方身份源登录 GenAuth 应用及 从第三方身份源导入组织机构和用户,从而降低迁移成本。GenAuth 会在用户每次使用企业身份源登录的时候自动将用户信息同步到 GenAuth 的用户目录。
INFO
你需要先创建待使用的企业身份源,才可在 自建应用->登录控制 标签页选择已创建的身份源。

要为单个应用添加企业身份源,执行以下步骤:
- 在应用详情页选择 登录控制->企业登录方式。
- 点击 +添加身份源,打开 选择企业身份源 页面。
- 选择目标企业身份源进行添加。
有关企业登录方式详细介绍,请参阅 企业身份源。
已登录用户
管理员可以在 登录控制 选项卡查看当前应用的已登录用户列表,查看并管理用户信息,强制下线:
- 要查看已登录用户详情,点击 已登录用户 列表中目标用户,打开用户详情页。
- 关于管理用户信息的详情,请参阅 管理用户账号。
- 要强制下线已登录用户,在目标用户所在行 操作 列,点击更多按钮(...),选择 强制下线,点击 确定 确认下线用户。
访问授权
路径:应用->自建应用->应用详情->访问授权
假如你是一家做社交通讯业务的公司,现有另外一家公司想通过调用你的业务 API 开发一个聊天记录整理导出的工具,并且已经和你的公司签约合作。现在你想要安全地将用户信息授权给这家公司,你期望:
- API 的调用只开放给合作伙伴公司。
- 不同的合作伙伴拥有不同的访问权限,能够访问不同的业务 API。
- 如果将来终止合作,或者发生变化,希望能够收回某些数据的权限或者完全禁用。
作为管理员,你可以在控制台管理和分配资源的权限。在实践权限管理和授权之前,需要先了解几个概念。
- 应用:管理员能够创建应用,应用就是你在开发的应用项目在 GenAuth 的一个定义。
- 用户:你可以直接将权限指派给用户,你也可以将你的用户划分成不同的分组、角色、组织机构部门,这样在以后分配权限的时候方便管理。
- 角色:角色是一组用户的集合,角色中的用户会自动继承该角色被授权的权限。
- 资源:你可以在 GenAuth 中定义一些资源,例如应用中的资源可能有 API、数据资源、菜单、按钮等。
访问授权 从应用维度定义了主体对当前应用的访问权限。管理员可以在 访问授权 页面将当前应用集成到单点登录(SSO),也可以定义被授权主体、角色、资源、授权规则和编程访问。
单点登录
管理员可以在此模块将当前自建应用添加到应用面板。
为此,管理员只需在 单点登录 模块下开启 添加到单点登录 开关即可。

将应用添加到 单点登录(SSO) 意味着你的用户可以在登录应用面板后一次性登录到所有已开启 SSO 的应用。
应用访问控制
管理员可以在本模块指定能够访问当前应用的主体。

| 序号 | 字段 / 按钮 | 说明 |
|---|---|---|
| 1 | 默认权限 | 选项包括:
|
| 2 | 应用授权类型 | 可以按照授权类型筛选查看下方授权对象,选项包括:
|
| 3 | 添加 | 打开 添加授权 窗口添加授权对象。 授权类型包括:
|
| 4 | 是否生效 | 确定是否启用当前授权。新增一条授权后,默认 开,即启用该条授权。 |
| 5 | 编辑 | 编辑当前授权项。 |
| 6 | 删除 | 删除当前授权项。 |
角色管理
管理员可在此模块指定可以访问当前应用的角色,指定后,该角色下所有指定的主体都具有经授权的权限。
INFO
角色管理 模块的数据源与 权限管理 中本应用权限分组内 角色管理 数据源同步。
要创建角色,执行以下步骤:
- 在 角色管理 模块点击右上角 增加 按钮。
- 在侧拉框 创建角色 窗口输入 角色 Code、角色描述。
- 点击 确定 按钮。
新增角色会显示在 角色管理 列表顶部,同时在 权限管理 本应用权限分组下 角色管理 列表同步更新。
管理员可以点击角色所在行 角色 Code 列打开角色详情页,编辑角色信息,添加授权用户、组织机构及规则。有关详情,请参阅 角色管理。
要删除某个角色,只需点击该角色所在行 操作 列 删除 按钮。
INFO
角色删除不可恢复,需谨慎操作。
资源
资源模块对应用内所有资源作了分类:API 资源、数据资源 和 UI 资源。管理员可以在此模块查看、添加、编辑和删除资源。
INFO
API 资源、数据资源、UI 资源在本质上没有区别,类型仅用于管理层面上的区分,创建良好的资源分类能够方便管理员快速聚焦不同的资源。
要添加资源,执行以下步骤:
- 在 访问授权->API / 数据 / UI 资源 下,点击右上角 添加 按钮。
- 在侧拉框 创建资源 窗口输入填写资源信息,定义操作类型。
INFO
- 资源名称:建议填写语义化的资源名称,便于后续管理。
- 操作类型:管理员可自定义资源的增删改查等操作权限。可在资源列表点击资源所在行前的 '+' 按钮查看各资源的详细操作权限。
- 点击 保存。
一个资源就创建好了。

API 资源

数据资源

UI 资源
要编辑或删除资源,可在资源列表相应资源所在行点击 操作 列 编辑 / 删除 按钮。
资源授权
现在有了 资源 和 人,接下来要定义「谁」能够对什么「资源」做什么「操作」。

要对资源进行授权,执行以下步骤:
- 在 访问授权->资源授权 下,点击右上角 添加 按钮。打开 授权 窗口。
- 指定授权主体、授权规则。
INFO
- 授权主体是 应用访问控制 模块中授权对象列表的数据源。其中,编程访问账号 是添加 AccessKey 和 SecretKey 对时自动生成的 AccessKey 值。
- 授权规则为:配置某个「条件」下,允许或拒绝某个「主体」对某个「资源」的特定或所有操作。
- 特定操作 包括 API 资源 / 数据资源 / UI 资源 中为资源定义的操作类型。只能为单个资源指定特定操作,不可以对所有资源指定 特定操作。
- 限制条件 是对授权规则添加限制条件。
- 如果希望将多个资源授权给用户,可以点击底部 +添加授权规则 按钮继续添加规则。
管理员也可以在资源授权列表点击相应授权所在行的 查看详情 及 取消授权 按钮查看授权详情及取消授权。
编程访问账号
编程访问账号是应用下的一对 AccessKey、SecretKey。管理员可以创建 AccessKey 和 SecretKey,并授予这组 Key 相应的权限,用于交给外包商等第三方厂商进行调用。调用方使用编程访问账号结合 OIDC 授权码 code 获取用户的 AccessToken 与 IdToken,或者使用编程访问账号进行 OIDC ClientCredentials 模式代表调用方本身请求授权,从而调用你的资源接口。

要创建编程访问账号,执行以下步骤:
- 在 访问授权->编程访问 下,点击右上角 添加 按钮。打开 添加编程访问账号 侧拉框。
- 指定 AccessToken 过期时间(秒)。
- 点击 确定 按钮。
编程访问账号列表会在顶部新增一条记录。
管理员可以在编程访问账号列表 禁用、刷新密钥 和 删除 所在行账号。
INFO
点击 刷新密钥,只会更新 SecretKey。
品牌化
路径:应用->自建应用->应用详情->品牌化
INFO
- 应用中 品牌化 选项卡默认是关闭的。此时,应用的品牌化相关配置将由全局登录框中的配置控制。要对单一应用的登录框进行单独的品牌化配置,可以在 高级配置->自定义配置 中开启 自定义本应用的登录框 开关。
- 在开启 自定义本应用的登录框 开关的情况下,当前应用的登录框样式将会继承当前全局品牌化(品牌化->全局登录框)中的配置。开启之后,管理员对此自建应用的登录框样式配置将会独立于全局品牌化中的配置。
管理员可以在用户池内自建应用的 品牌化 标签页自定义 GenAuth 托管式登录框的 UI 以及登录注册信息补全功能。
自建应用->品牌化 配置 和 品牌化->全局登录框 的配置相同。有关详情,请参阅 全局登录框的品牌化配置。
安全管理
路径:应用->自建应用->应用详情->安全管理
本章节介绍了和 cookie 过期时间、注册安全、登录安全、APP 扫码登录 Web 安全、多因素认证等安全相关配置项。
INFO
开启 自定义本应用的安全规则 开关后,你可以对本应用进行以下相关功能的配置:
基础安全

用户可在此模块指定登录状态的有效时间(即 cookie 过期时间):
| 选项 | 说明 |
|---|---|
| 浏览器会话 | 当前浏览器关闭后立即过期,下次打开需重新登录。 |
| 自定义过期时间 | 可在右侧输入框指定过期时间,建议 1209600 秒(14 天),过期后用户需要重新登录。注意:对于应用面板及已加入应用面板的应用,将使用全局 安全管理 中设置的 cookie 过期时间。 |
注册安全

| 开关 | 说明 |
|---|---|
| 频繁注册限制 | 管理员可以通过指定 限定周期时间 和 周期内限定频次 限制同一个 IP 在多少秒内不能超过多少次注册。 |
| 禁止注册 | 开启该开关后,普通用户将无法通过登录框或者 API 注册,只有管理员可以手动创建账号。 |
登录防暴破
GenAuth 为 账号锁定 和 图形验证码 两种场景提供登录安全策略。

账号锁定
| 开关 | 说明 |
|---|---|
| 登录密码错误限制 | 当用户登录输入密码错误时,会按照登录安全策略规则触发相对应的策略。开启 登录密码错误限制 开关,可以通过指定 限定周期时间 和周期内限定频次 限制同一账号在多少秒内不能超过多少次密码输入错误。若在规定时间内超过次数后,该用户再次登录时,需要输入图形验证码。 |
| 未验证邮箱登录时发送认证邮件 | 开启后,如果用户使用未经过验证的邮箱登录,GenAuth 将向该邮箱发送一封验证邮件,用户需要前往此邮箱点击认证链接后方可完成登录。 |
图形验证码
除了上述 账号锁定 场景的两个策略,图形验证码 还可以定义 登录失败次数限制:当用户登录信息输入错误时,会按照登录安全策略规则触发相对应的策略。开启 登录失败次数限制 开关,可以通过指定 限定周期时间 和周期内限定频次 限制同一账号在多少秒内不能超过多少次失败登录。若在规定时间内超过次数后,该用户再次登录时,需要输入图形验证码。

APP 扫码登录 Web 安全
GenAuth 一直以来都致力于带给开发者高度自定义的开发体验,所以我们提供以下自定义配置项,开发者可以根据自己业务的需要,在安全性和便捷性之间权衡。

| 字段 / 开关 | 说明 |
|---|---|
| 二维码有效时间 | 默认 120s。 |
| ticket 有效时间 | 默认 300s。 |
| Web 轮询接口返回完整用户信息 | 默认不返回。由于查询二维码状态接口是没有权限校验的,这意味着直接在此接口返回用户信息(包含登录凭证 token)是存在安全隐患的,所以我们推荐开发者遵循最佳实践:查询二维码状态接口只返回用户昵称和头像,使用 ticket 换取用户信息。 |
| 允许在浏览器使用 ticket 换取用户信息 | 默认允许,需要在服务器端调用,即需要使用用户池密钥初始化之后。点击了解如何初始化后端 SDK。一个典型的使用场景是:用户扫码同意授权、开发者得到 ticket 之后,发送到自己的后端,使用后端 SDK 换取用户信息,之后重定向到已登录页面,同时将用户信息写入 localStroage。 |
多因素认证
多因素认证(Multi Factor Authentication,简称 MFA)是一种非常简单的安全实践方法,能够在用户名称和密码之外再额外增加一层保护。启用 MFA 后,用户登录时,除了需要提供用户名和密码外(第一次身份验证),还需要进行第二次身份验证,多因素认证结合起来将为你的帐号和资源提供更高的安全保护。你可以在此了解 什么是多因素认证。
你可以如下图所示为你的应用开启 MFA:

更多详情,请参阅 多因素认证综述。
高级配置
路径:应用->自建应用->应用详情->高级配置
管理员可以根据业务需要在 高级配置 选项卡开启应用登录框开关、应用安全规则开关、应用授权页面开关。
自定义配置

INFO
打开本模块中的开关后,应用的相关配置首先将继承全局配置。在此基础上进行改动,不用担心给用户带来突兀的登录体验。
| 开关 | 说明 |
|---|---|
| 自定义本应用的登录框 | 默认关闭,开启后在同一页面打开 品牌化 选项卡,可以自定义当前应用的登录框。有关详情,请参阅 品牌化。 |
| 自定义本应用的安全规则 | 默认关闭,开启后在同一页面打开 安全管理 选项卡,可以自定义当前应用的登录 / 注册等安全策略。有关详情,请参阅 安全管理。 |
身份品牌化
当业务软件和身份数据不是被同一方掌握的时,业务软件要通过业务 API 获取用户数据之前,身份提供商有义务告知终端用户其他公司需要获取他们的哪些用户数据(例如手机号、邮箱)以及哪些资源权限,必须先征得用户的同意。开启后,用户登录时,会向用户展示确权页面。

租户配置
路径:应用->自建应用->应用详情->租户配置
应用下租户对应你 SaaS 软件中的租户。管理员可以在此配置允许哪些用户登录当前应用:如果选择了 应用下租户,那么只有该租户下的终端用户可以访问。如果选择了 个体用户,那么只有那些不属于任何租户的终端用户可以访问。

GenAuth 支持管理员创建租户,并为应用提供租户级别身份认证和授权、终端用户管理、登录页品牌化等功能。
INFO
当前仅自建应用支持多租户功能。
要创建租户,管理员可以在 租户配置 标签页点击右侧 去创建租户 按钮。有关创建租户详情,请参阅 多租户 章节。
单点登录 SSO 综述
什么是单点登录
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。 SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
我们通过一个例子来说明,假设有一所大学,内部有两个系统,一个是邮箱系统,一个是课表查询系统。现在想实现这样的效果:在邮箱系统中登录一遍,然后此时进入课表系统的网站,无需再次登录,课表网站系统直接跳转到个人课表页面,反之亦然。比较专业的定义如下:
如果你还没有创建过应用,可以了解 如何创建第一个应用。
如果你想快速体验一下单点登录,可以先了解 自建应用 SSO 方案的内容。
以下内容不分先后顺序,你可以选择自己感兴趣的内容进行阅读:
- 应用面板:用于展示企业所需的各类应用,是提供员工单点登录、提高工作效率、保证信息安全的好地方。
- 集成应用 SSO 方案:是一套 GenAuth 预先与第三方应用集成的目录,可以让 GenAuth 的用户通过简单的配置快速对接所需应用以实现单点登录、身份供给等能力。
- 自建应用 SSO 方案:当你有多个应用的时候,你可以快速实现用户池应用间的单点登录,用户切换应用的时候不需要再次登录,给用户更好的使用体验。
- 第三方 SSO 方案:以飞书、企业微信、钉钉、Welink 等作为企业单一身份源实现 SSO 的集成方案。
应用面板
GenAuth 应用面板用于展示企业所需的各类应用,是提供员工单点登录、提高工作效率、保证信息安全的好地方。
企业员工对各类应用的单点登录(SSO)是基于安全断言标记语言(SAML)或 GenAuth 自研的安全身份验证 (GenAuth Secure Authentication) 而实现的。

终端用户的操作说明
登录应用面板
终端用户在访问应用面板前需要登录 GenAuth 。首先,用户需要在浏览器输入应用面板的登录地址 URL,比如「https://org-name.authing.cn 」(其中「org-name」是公司或组织的名称)。接下来,用户需要输入他的用户名和密码,或者通过第三方账号登录。如果用户不知道自己的用户名或忘记了密码,他需要联系所在企业的 IT 部门,IT 管理员会为他设置 GenAuth 帐户或重置密码。

添加或卸载应用
应用面板会默认展示用户可访问的所有应用。用户可以随意添加或卸载自己的常用应用,以便降低不必要应用的干扰。
你可以在应用面板添加自建应用或者第三方应用。

要将应用从应用面板删除,点击应用列表待删除应用的右上角「...」按钮,并在弹出的删除窗口中进行确认。

更新个人信息
在应用面板右上角,用户可以点击 个人中心 按钮以进入用户个人中心,来编辑个人信息。


企业管理员的操作说明
第一步:为团队成员安装应用
企业管理员或具有 GenAuth 控制台权限的管理员(管理员及添加协作管理员详情可见 添加用户池协作管理员)登录 GenAuth 控制台 应用->单点登录 SSO->应用列表->某应用详情页->访问授权,在 应用访问控制 模块设置访问应用的权限。

第二步:配置应用面板
企业管理员或具有 GenAuth 控制台权限的管理员可以进入控制台 品牌化->应用面板->基础设置 和 应用->单点登录 SSO->配置 来配置应用面板的基本信息、登录注册方式、社交登录方式、企业登录方式等(有关详情,请参阅 登录控制 及 应用面板配置)。


第三步:查看用户或组织可访问的应用
管理员可以进入控制台 应用->单点登录 SSO->已分配应用 来查看用户或组织可访问的应用列表。点击应用会进入应用详情页。

第四步:配置应用单点登录 SSO
用户进入「单点登录 SSO」页,添加刚刚的自建应用。
INFO
添加后,登录 SSO 列表页内的任意应用(自建或集成应用),即可单点登录面板所有应用。


集成应用 SSO 方案
GenAuth 提供集成应用。集成应用是为用户准备好的已对接应用,可以让 GenAuth 的用户通过简单的配置快速对接所需应用以实现单点登录、身份供给等能力。
而 GenAuth 应用市场(又名合作网络)是一套 GenAuth 预先与第三方应用集成的目录,是你获取集成应用的地方。

在这里,你仅需两步便可轻松地集成第三方应用:
- 在 GenAuth 应用市场找到你想要集成的应用。
- 点击「获取应用」填入该应用的相关配置即可完成。
在应用市场中,集成单点登录的详细步骤
下面让我们通过集成「腾讯云」来举例说明应用市场的使用方法,你的用户将快速通过腾讯云账户登录你的应用程序。 首先,如果你还没有免费的 GenAuth 帐户,请先注册一个。 进入 GenAuth 控制台后,转到应用市场。在这里,你可以根据需求选择应用集成。 这里,让我们先搜索「腾讯」。

点击第一个选项「腾讯云」。 这将带你到腾讯云集成页面,其中包含以下信息:
- 第三方集成应用的说明
- 第三方集成应用地址和隐私政策
- 「获取应用」按钮,它将带你进入应用安装集成配置页。

单击「接入教程」按钮,你将看到集成应用配置的详细分步说明。

按照帮助文档完成「腾讯云」的配置后,点击「保存」。你将被定向到 GenAuth 应用列表页为用户分配权限。要测试它是否有效,请选择「体验登录」。

链接正常运行,你将看到「腾讯云控制台」包含用户个人信息的页面。

就这么简单!总结一下,GenAuth 应用市场可以帮你:
- 搜索目标应用,一步直达目标
- 自助式教程,帮助你快速上手
- 开放式模式,无边界体验
应用市场的价值:
- 用户将可以极速、极简的集成第三方应用。
- 比如,配置阿里云 SAML 应用时,用户预填阿里云 SAML 配置项并上传密钥即可完成配置。
- 从宏观上来讲,GenAuth 应用市场将帮助完善中国的应用生态系统。
- GenAuth 将中国应用市场搬到了“开发者的授权平台”上。
应用市场的亮点:
- 可信赖:我们在应用市场中提供了多种安全有效的授权方式,并且所有上架的应用都是经过 GenAuth 严格的安全认证。
- 轻松找到你所想:你不仅可以轻松找到所需的集成应用,你还可以在应用市场中浏览到你不了解的可集成应用,我们提供值得信赖的合作伙伴和第三方集成应用目录,仅仅需要单击几下鼠标即可添加第三方应用到你的 GenAuth 控制台中。
- 开放:GenAuth 会提供一个开放自助的应用市场,方便开发者可以在这个市场里面进行资源互换。未来,你可以在我们的社区论坛发起集成申请,甚至可以提交自己集成应用。当然,任何人提交的内容都将通过 GenAuth 进行测试和审核,以便所有用户都可以安全地使用应用市场。
已集成的应用
你可以通过访问每个集成应用的页面,轻松地将其中任何一个添加到你的应用程序中。
华为云
华为云为用户提供云服务器,云数据库,云存储,CDN,大数据,云安全等公有云产品和电商,金融,游戏等多种解决方案,7x24 小时客服支持,帮助企业轻松上云 - 华为云。
AWS 中国
AWS 是亚马逊公司旗下云计算服务平台,为全球客户提供整套基础设施和云解决方案。以弹性云服务器、云存储、数据库、机器学习为主的安全、可靠的云计算服务,帮助企业轻松上云。
阿里云
阿里云 是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供免费试用、云服务器、云数据库、云安全、云企业应用等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。免费备案,7x24 小时售后支持,助企业无忧上云。
腾讯云
腾讯云为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与 CDN、域名注册等全方位云服务和各行业解决方案。
ServiceDesk Plus
ServiceDesk Plus 是一个革命性产品,它将 IT 团队从日常救火转变为提供卓越的客户服务。它在处理 IT 问题时提供了良好的可见性和中央控制,以确保业务不会出现停机。经过 10 年的运行,它已经向数以百万计的 IT 人员、最终用户和涉众提供了良好的服务。
腾讯企业邮箱
腾讯企业邮箱是腾讯基于多年海量用户邮件系统研发和运营经验,为企业量身订造的一套办公用邮箱系统。我们为开发者提供了五大开放接口:通讯录管理、新邮件提醒、单点登录、系统日志、功能设置。希望帮助企业提升开发效率、降低开发成本和难度,从而提升生产和管理之间的协作效率。
下一步计划
这仅仅是 GenAuth 应用市场的开始,我们接下来会集成 2000+ SaaS 应用,如果你想要合作,请 联系我们,我们非常期待合作!
同时,我们希望应用市场为开发者带来最优质的用户体验,因此,你的反馈对我们十分重要。请在我们的社区论坛里提出你的看法或问题,并让我们知道你期待的新功能体验。
GenAuth 论坛地址:https://forum.authing.cn
自建应用 SSO 方案
GenAuth 提供自建应用。用户池存储了用户系统中所有的用户数据,而自建应用则对应的是现实中根据业务需求创建的业务应用。一个用户池可能会有多个自建应用。开启应用之间的单点登录后,同一个用户池下的不同应用之间的登录状态将会打通,终端用户只需登录一次即可在不同的应用之间畅行。
在 GenAuth 控制台配置单点登录
第一步:创建两个应用
首先你可以按照 指引 创建两个应用。
第二步:配置单点登录
- 进入菜单 应用->单点登录 SSO,点击右上角 添加自建应用。

- 在列表中找到并添加已创建的应用。

第三步:体验应用单点登录
- 进入 单点登录 SSO 的 应用列表 标签,选择一个应用,点击 体验登录。

- 在登录页面完成登录。

成功后会跳转到应用回调地址:

- 接下来我们点击另一个应用的体验按钮。

用户无需再次输入密码,直接进入了该应用的回调地址:

使用 SDK 接入单点登录
详细的接入流程请见 单点登录 SDK 文档。
第三方 SSO 方案
以下章节介绍以飞书、企业微信、钉钉、Welink 等作为企业单一身份源实现 SSO 的集成方案。
飞书工作台 SSO 方案
传统的身份系统往往是由各种解决方案拼凑而成的,“身份数据”相互分离。统一账户管理的需求越发频繁且必要,通过使用集中的身份管理平台,可以极大改善用户的登录体验和 IT 办公效率,并有效提升访问安全。
我们经常被开发者问到,如何实现通过单一身份源、同一平台登录所有应用,并统一进行细颗粒度的权限管理。今天,我们以飞书作为企业单一身份源快速添加 Gitlab 为例,为大家提供一个极简的统一账户管理的解题思路。

设计思路

如何实现
第一步:以飞书为例,将飞书配置为单一身份源
- 在 GenAuth 中配置飞书通讯录,并按要求填入以下信息。
- 飞书应用的 App ID
- 飞书应用的 App Secret;
- 事件订阅的 Encrypt Key(可选),如果你不需要和飞书组织机构保持实时同步,可以不填写;
- 事件订阅的 Verification Token(可选),如果你不需要和飞书组织机构保持实时同步,可以不填写。



- 从飞书通讯录中同步组织机构到 GenAuth。
在 GenAuth 控制台 用户管理->组织机构 页面点击右上角 组织机构导入->同步中心同步,创建飞书上游同步。此后,飞书的增删减改操作将实时同步到控制台的组织机构中。


第二步:以 GitLab 为例,使用飞书账号单点登录 GitLab
集成应用
- 进入 飞书开放平台,点击「创建企业自建应用」。

- 填写弹窗信息,并点击「确定创建」。

- 进入 GenAuth 控制台 应用->单点登录 SSO,点击页面右上角 添加集成应用,获取 GitLab。复制 应用配置 下 应用访问链接。

- 进入飞书开放平台 应用功能->网页,打开 启用网页 开关,并粘贴链接至 网页配置,点击 保存。

- 进入 版本管理与发布,并点击 创建版本。

- 填写版本详情并保存。

- 点击 申请线上发布。

在 GenAuth 控制台 应用->单点登录 SSO->应用列表 进入 GitLab,在 访问授权 下设置可以访问 GitLab 的用户。
所有有权访问这个应用的用户都可以在飞书工作台看到刚刚添加好的应用,只要用户登录一个应用,便可以单点登录所有的应用。

自建应用
对于自建应用,你需要进行如下操作:
- 创建自建应用。
- 用户进入 应用->单点登录 SSO,点击页面右上角 添加自建应用。


INFO
添加后,登录 SSO 列表页内的任意应用(自建或集成应用),即可单点登录面板所有应用。
- 用户返回应用列表,点击进入自建应用,复制 应用配置 下 认证地址。

- 重复以上「集成应用」的方案,用户将地址粘贴在飞书开放平台 应用功能->网页配置 即可。
企业微信 SSO 方案
传统的身份系统往往是由各种解决方案拼凑而成的,“身份数据”相互分离。统一账户管理的需求越发频繁且必要,通过使用集中的身份管理平台,可以极大改善用户的登录体验和 IT 办公效率,并有效提升访问安全。
我们经常被开发者问到,如何实现通过单一身份源、同一平台登录所有应用,并统一进行细颗粒度的权限管理。以企业微信作为企业单一身份源快速添加 Gitlab 为例,为大家提供一个极简的统一账户管理的解题思路。 
设计思路

如何实现
第一步:将企业微信配置为 GenAuth 身份源
具体企微的身份源配置操作可见文档,企业微信自建应用扫码(代开发模式)
第二步:以 GitLab 为例,使用企微账号单点登录 GitLab
集成应用
- 进入企业微信服务商后台,点击「企业管理后台」

- 点击「创建应用」

在表单中填入应用名称等基础配置信息

选择应用可见范围

点击「创建应用」,完成应用创建

进入 Gitlab 配置详情页,复制应用访问链接

回到企微管理后台进入刚创建应用的详情页

填写应用主页网页网址

自建应用
对于自建应用,你需要进行如下操作:
- 创建自建应用
首先需要创建自建应用并完成配置,创建应用参考 如何创建自建应用
- 用户需要进入配置好的自建应用详情页,将其认证地址进行复制

- 填写应用主页网页网址,其他与集成应用一致即可

钉钉 SSO 方案
传统的身份系统往往是由各种解决方案拼凑而成的,“身份数据”相互分离。统一账户管理的需求越发频繁且必要,通过使用集中的身份管理平台,可以极大改善用户的登录体验和 IT 办公效率,并有效提升访问安全。
我们经常被开发者问到,如何实现通过单一身份源、同一平台登录所有应用,并统一进行细颗粒度的权限管理。以钉钉作为企业单一身份源快速添加阿里云为例,为大家提供一个极简的统一账户管理的解题思路。
设计思路

如何实现
第一步:将钉钉配置为 GenAuth 身份源
具体钉钉的身份源配置操作可见文档,钉钉 H5 微应用(企业内部开发)
第二步:使用钉钉单点登录阿里云
集成应用
- 进入钉钉开放平台后台,点击顶部 Type 切换到「企业应用」,点击步骤一创建的应用(阿里云)卡片或创建新应用。


- 进入应用详情信息页,点击左边栏的「开发管理」,点击「修改」按钮

- 进入阿里云配置详情页,复制应用访问链接

将该链接复制进应用首页地址和 PC 端首页地址

点击左边栏的版本管理与发布,选中确认发布

选择应用的可使用范围

添加通讯录接口权限

在工作台中点击完成登录

自建应用
对于自建应用,你需要进行如下操作:
- 创建自建应用
首先需要创建自建应用并完成配置,创建应用参考 如何创建自建应用
- 用户需要进入配置好的自建应用详情页,将其认证地址进行复制

- 进入钉钉中创建的企业应用详情页,点击左边栏的「开发管理」,点击「修改」按钮,填写应用主页网页网址。后续步骤与集成应用一致进行应用发布即可。

Welink SSO 方案
传统的身份系统往往是由各种解决方案拼凑而成的,“身份数据”相互分离。统一账户管理的需求越发频繁且必要,通过使用集中的身份管理平台,可以极大改善用户的登录体验和 IT 办公效率,并有效提升访问安全。
我们经常被开发者问到,如何实现通过单一身份源、同一平台登录所有应用,并统一进行细颗粒度的权限管理。以 Welink 作为企业单一身份源快速添加阿里云为例,为大家提供一个极简的统一账户管理的解题思路。
设计思路

如何实现
第一步:将 Welink 配置为 GenAuth 身份源
具体 Welink 的身份源配置操作可见文档,Welink 。
第二步:使用 Welink 单点登录阿里云
集成应用
- 在完成了步骤一之后,相信你已经完成了 Welink 身份源的打通,接下来选择开放平台右侧边栏「企业内部应用」下的轻应用栏。然后点击右上角的「创建轻应用」开始应用创建流程。如下图填入应用的名称等基本信息,完成创建。

应用创建成功

进入阿里云配置详情页,复制应用访问链接。

切换顶部 type ,进入到「版本管理」页面,点击设置首页地址后的前往设置,将前边复制的链接填入弹窗中的 PC 端链接。


点击接口权限

在权限详情页面开放用户登录信息以及用户详细信息权限。

之后进入控制台将 Welink 身份源中的回调地址填入应用管理后台。


点击「发布版本」,依据流程完成版本发布。


此时你的应用已经进入 Welink 的工作面板,点击进入即可。

自建应用
对于自建应用,你需要进行如下操作:
- 创建自建应用
首先需要创建自建应用并完成配置,创建应用参考 如何创建自建应用
- 用户需要进入配置好的自建应用详情页,将其认证地址进行复制。

- 与集成应用类似将认证地址复制到版本管理页面的设置首页地址的 PC 端链接里。之后步骤与集成应用一致,完成权限与应用管理后台设置后再进行应用发布即可使用。


ASA 表单代填
GenAuth Secure Authentication(ASA) 是一项 GenAuth 开发的功能,可为不支持标准认证协议(OAuth2.0、OIDC、SAML、CAS)的外部 Web 应用程序提供单点登录 (SSO) 功能。
管理员可以给用户分配应用账密。 GenAuth 将账密加密存储在数据库中。在用户访问被分配了账号密码的应用的登录界面时,GenAuth 会自动填充账号密码,并进行登录。最终用户只需登录 GenAuth,就可直接访问被分配的应用。
如何使用
创建 ASA 应用
在 GenAuth 应用市场找一个支持 ASA 的应用,以下我们以「石墨文档」为例进行演示。

点击进入详情,点击「获取应用」

填写应用名称,点击「下一步」

点击「完成」

在分配账号页面,给用户分配应用账号

在访问授权页面,选择「允许所有用户访问」

下载插件
终端用户需要下载浏览器插件才能使用 ASA。浏览器插件的下载列表如下,如果你使用的浏览器不在以下列表中,请尝试安装 Chrome 版本的插件:
| 浏览器 | 使用说明 |
|---|---|
| Google Chrome |
|
| 360 极速浏览器 | 进入 应用中心 下载并安装,登录 GenAuth 应用面板后即可使用此插件 |
| 360 安全浏览器 | 进入 应用中心 下载并安装,登录 GenAuth 应用面板后即可使用此插件 |
| Firefox | 进入 拓展中心 下载并安装,登录 GenAuth 应用面板后即可使用此插件 |
体验登录
点击单点登录应用列表的「前往体验」按钮,进入 GenAuth 应用面板登录页面。

输入之前被分配了账号的用户的邮箱和密码,点击「登录」,进入应用面板。

插件图标上将会出现红色叹号,点击「插件图标」,打开插件页面,点击「信任」当前账号。

插件中会展示当前账号被管理员所分配的所有应用列表,你可以看到你之前添加的「石墨文档」。

进入对应应用的登录界面,GenAuth 浏览器插件将会自动填充之前分配的账号密码并自动登录。有时应用需要进行一些人机校验,此行为需要用户手动操作,插件无法跳过。

校验完成即登录成功。

我们正在加速 ASA 插件支持更多应用,如果你希望你的应用被支持,你可以在 加入 APN 概览 了解更多详情。
自定义 ASA 应用
如果在应用市场找不到你需要的应用,你可以使用自定义 ASA 应用。
创建自定义 ASA 应用
下面以「石墨文档」为例进行说明。首先在应用市场中找到 自定义 ASA 应用

点击进入详情,然后点击「获取应用」,进入应用配置界面,上传应用 logo,填写应用名称,点击「下一步」。

进入 ASA 配置界面
首先输入应用登录页面 URL,如「石墨文档」的登录页 URL 为 **https://shimo.im/loginByPassword**。
然后填写 ASA 自动登录步骤,自动登录步骤必须是合法的 JSON 字符串,且为对象数组,ASA 插件会根据此数组按顺序执行对象操作。数组中对象的所有 key 如下:
- action:表示当前步骤的操作类型,所有操作类型为
- type:输入,如输入账号
- click:点击,如点击登录按钮
- selectFrame:切换 iframe,某些网站登录框会嵌套在 iframe 中,此时需要切换到登录框所在 iframe 才能输入账密进行登录
- wait:等待一定时间,如有些网页在输入账密后,需要等待一定时间才能点击登录按钮
- target:表示当前步骤的操作目标,值为字符串,接受所有 querySelector 能接受的 dom 元素选择器,如
#password - value:表示当前步骤的操作值
- 在 type 操作中使用时,值为字符串,可用
{{account}}表示绑定的账号,{{password}}表示绑定的密码 - 在 wait 操作中使用时,值为数字,单位为毫秒,如 1000 表示等待 1 秒
- 在 type 操作中使用时,值为字符串,可用
- action:表示当前步骤的操作类型,所有操作类型为
- 账号分配方式目前只支持 管理员设置账号和密码

点击「完成」,在分配账号页面,给用户分配应用账号

在访问授权页面,选择「允许所有用户访问」

后续即可体验登录
ASAD 表单代填接入教程
什么是 ASAD ?
GenAuth Secure Authentication for Desktop 是一项 GenAuth 开发的功能,可为不支持标准认证协议(OAuth2.0、OIDC、SAML、CAS)的外部桌面端应用程序提供单点登录 (SSO) 功能。
管理员可以给用户分配应用账密。 GenAuth 将账密加密存储在数据库中。在用户访问被分配了账号密码的应用的登录界面时,GenAuth 会自动填充账号密码,并进行登录。最终用户只需登录 GenAuth,就可直接访问被分配的应用。
如何使用
自定义 ASAD 应用
在 GenAuth 应用市场找一个支持 ASAD 的应用,以下我们以「钉钉」为例进行演示。

获取应用
点击进入详情,点击右上角「获取应用」

填写基本配置
填写应用名称,点击「下一步」

填写登录配置
填写如下配置信息,然后点击「完成」
- 首先输入应用安装路径,如「钉钉」的安装路径为: C:\Program Files (x86)\DingDing
- 填写应用名称:方便更快速定位到当前应用
- 然后填写 ASAD 自动登录步骤,自动登录步骤必须是合法的 JSON 字符串,且为对象数组,ASAD 插件会根据此数组按顺序执行对象操作。数组中对象的所有 key 如下:
- action:表示当前步骤的操作类型,所有操作类型为
- type:输入,如输入账号
- click:点击,如点击登录按钮
- target:表示当前步骤的操作目标,值为字符串,接受所有 querySelector (opens new window)能接受的 dom 元素选择器,如 #password
- value:表示当前步骤的操作值
- type:输入,如输入账号
- 在 type 操作中使用时,值为字符串,可用
{{account}}表示绑定的账号,{{password}}表示绑定的密码
- action:表示当前步骤的操作类型,所有操作类型为
- 账号分配方式:支持管理员设置账号和密码;用户设置账号和密码
分配账号
以管理员设置账号和密码为例,在分配账号页面,给用户分配应用账号

访问授权
在访问授权页面,添加应用访问授权


体验登录
完成后即可立即体验登录

GenAuth 网关代填
GenAuth 网关代填使用 GenAuth 提供的网关对应用服务进行代理,通过拦截登录、登出等 API 进行后端代填操作。此种方式相较于 ASA 表单代填更加安全,用户无需安装浏览器插件,使用更加便捷,但对于需要人机校验(如图形验证码)的应用,网关代填暂时还未支持代填验证码。
管理员可以给用户分配应用账密。 GenAuth 将账密加密存储在数据库中。在用户访问被分配了账号密码的应用的登录界面时,GenAuth 网关会拦截请求,并在网关中自动填充账号密码,并进行登录。最终用户只需登录 GenAuth,就可直接访问被分配的应用。
如何使用
部署 GenAuth 网关
使用 GenAuth 网关代填能力之前,需要先部署 GenAuth 网关,详情咨询 GenAuth 售前人员。
连接网关
打开 GenAuth 控制台,进入 应用 -> 自建应用 菜单,选择网关管理 tab。 
点击创建网关连接,输入网关信息,其中网关管理后台地址即部署完网关后网关的管理界面地址。点击创建即可创建完成。 
创建网关代填应用
点击创建自建应用,选择网关代填应用,填写应用信息,点击创建即可创建完成。

配置代填策略
基础配置
创建完成后进入应用详情,进入代填策略 tab,填写配置信息:
- 目标应用 URL:即需要被代填的应用的访问地址,需包含协议、域名(IP)、端口
- 应用代理 URL:即被代理后用户实际访问的地址,需要包含协议、域名、端口
- 应用登录地址:当需要登录时,用户访问的页面地址,GenAuth 网关会拦截此页面,在网关中进行代填登录操作
- 用户登出地址:当用户手动退出登录时,访问的 API 地址,GenAuth 网关会拦截此接口,将 GenAuth 登录态清除
- 登录成功重定向地址:当网关代理登录成功后,进入的页面地址,一般填写应用首页即可
- Host 请求头:一般情况下,如果目标应用本身没有域名或目标应用域名与应用代理域名一致,则选择「保持与客户端请求一致的域名」,否则选「使用目标应用 URL 的域名」
- 首次放行登录页:某些应用在访问登录页时会通过 cookie 等方式返回 csrf token 等信息,所以不能直接拦截登录页,需要浏览器先访问一次登录页再进行后续操作

登录接口调用
登录接口调用配置的是当用户输入用户名密码,点击登录按钮后,调用的接口地址和参数,网关将模拟此流程。可以添加多个请求,在每个请求中你需要选择请求方法、输入请求地址,还有可选的 Params(拼接在请求 URL 后的参数)、Headers(请求头)、Body(请求体);在 Params、Headers、Body 的 value 中,你可以使用变量,例如需要获取用户绑定的账号:${bound_account.account}。所有变量如下:
- bound_account.account:用户被绑定的账号
- bound_account.password:用户被绑定的密码
- cookie:请求 cookie,如
${cookie.xxx}表示请求 cookie xxx 的值 - api_respN.body.xxx:第 N 个登录请求的响应的 xxx 的值,其中 N 是从 1 开始的递增整数,表示第 N 个登录请求

登录完成后写 localStorage
某些单页应用,在调用登录接口成功后,需要在 localStorage 中写入 token 信息,此时就需要配置此信息。在 value 中也可以使用 ${api_respN.body.xxx} 变量 
配置完成后点击保存即可。
绑定账号
点击账号绑定配置中的添加按钮,输入被代替应用中真实存在的账号密码,点击确定即可创建成功。 
点击账号配置,点击账号绑定。 
选择需要使用此账号登录的用户、角色或用户组,点击确定即可完成配置。 
在访问授权页面,选择「允许所有用户访问」 
然后即可体验登录。