跳转至

词汇表

本词汇表提供了技术术语和缩写的定义,帮助您更轻松地理解相关概念并使用 Authany。

我们按字母顺序在左侧列出了词汇表中的术语和缩写。点击任意术语即可查看完整的定义和说明。

访问令牌(Access Token)

访问令牌是客户端应用代表用户进行身份验证、以访问后端服务器资源时使用的凭证。在已登录的会话中,客户端应用发往后端服务器的请求都应携带访问令牌。访问令牌可以有不同的格式,但 JWT 是常见的选择。

Admin API

Admin API 为开发者提供了一个 GraphQL 接口,让您可以通过自己的代码或自定义应用与 Authany 上的服务和数据进行交互。

您也可以在 Authany 管理台中使用 GraphiQL Explorer 查看 GraphQL schema,并构建查询(query)和变更(mutation)。

匿名用户(Anonymous Users)

匿名用户是账号上没有绑定任何身份信息(例如邮箱或手机号)的用户。不过,匿名用户之后可以被升级为正式用户。

这一机制让您可以为网站或应用中的访客创建临时账号,使其在使用邮箱或手机号注册之前就能使用相关功能。升级匿名用户时,其 sub(用户 ID)的值保持不变,因此在用户注册后,您可以轻松关联其此前的活动记录。

API 资源(API Resources)

API 资源需要先在 Authany 管理台中注册,之后 M2M 应用才能通过作用域(权限)获得访问这些 API 资源的授权。每个 API 资源都由其唯一的“标识符”(一个逻辑 URL)来标识。在 OAuth 客户端凭证流程中签发的访问令牌,会将该 API 资源的标识符作为 aud(受众),并附带相关的 scopes,API 服务器可以据此对来自 M2M 应用客户端的请求进行身份验证。

Auth UI

默认情况下,Authany 会为您的项目提供可自定义的用户界面(UI),用于登录、用户注册和个人资料设置页面。这些页面统称为 Auth UI。

审计日志(Audit Logs)

Authany 中有两类审计日志。“终端用户活动审计日志”让您可以监控终端用户的变更和操作,例如新增手机号、登录、登出等。而“Admin API 审计日志”则让您可以分析项目中 Admin API 和 Authany 管理台上发生的活动。

Authany 端点(Authany Endpoint)

您的 Authany 端点(或称项目端点)是指向您 Authany 项目的有效域名。Authany 端点有多种用途,例如:将客户端应用连接到您的 Authany 项目,或将用户重定向到登录和注册页面时都会用到它。

查看 Authany 端点最简单的方法是,进入 Authany 管理台的自定义域名页面。状态列显示绿色已启用的那一行对应的域名,就是您的端点。

身份验证(Authentication)

身份验证是验证应用中用户身份的过程。Authany 支持多种身份验证方式,包括邮箱、手机号、用户名、密码、OTP、通行密钥、生物识别、社交登录和企业登录。

授权(Authorization)

授权是根据用户身份决定是否允许其访问资源的过程。例如,用户可以授权某个客户端应用访问自己在 Authany 上的资料数据,但该授权不能被用来访问其他用户的数据。

授权码(Authorization Code)

授权码是由授权服务器签发、客户端应用可用来兑换访问令牌的代码。在 OAuth 2.0 授权码流程中,用户授权客户端后,授权服务器会通过重定向 URI 将该授权码发送给客户端。

授权重定向 URI(Authorized Redirect URIs)

这些 URL 指向客户端应用中用户在完成身份验证后会被重定向到的有效页面。通常,您会在这个页面中实现从 URL 参数获取授权码,并使用该授权码发起令牌兑换以获取访问令牌的代码。

生物识别认证(Biometric Authentication)

生物识别认证让您可以使用指纹、面容扫描等生物特征在应用中对用户进行身份验证。该功能依赖系统原生能力,例如 iOS 上的 FaceID 和 keychain,以及 Android 上的 Keystore,因此 Authany 不会存储任何生物识别数据。此功能仅支持 Android 6.0 及以上、iOS 11.3 及以上版本。

阻塞事件(Blocking Events)

阻塞事件是在诸如创建用户之类的操作执行之前触发的事件,该操作会被阻塞,直到关联的 Hook 返回一个 is_allowed 设为 true 的 JSON 为止。

Authany 支持的阻塞事件示例包括:user.pre_create、user.profile.pre_update、user.pre_schedule_deletion 和 oidc.jwt.pre_create。

声明(Claims)

声明(Claims)包含可用于标识用户或应用的详细信息,通常包含在 JWT 等身份验证令牌中,可以包含用户名、作用域、角色等信息。

参见这篇文章了解如何按需为 Authany 的 JWT 访问令牌添加自定义字段(详细信息)。

客户端 ID(Client ID)

客户端 ID 是一个唯一字符串,用于在客户端应用发送请求时标识您的 Authany 应用。

客户端密钥(Client Secret)

客户端密钥是一个保密字符串,与客户端 ID 一起作为凭证发送,用于在 Authany 服务器上对您的客户端应用进行身份验证。

Cloudflare Turnstile

Turnstile 是 Cloudflare 提供的一项服务,可以在不用视觉验证码困扰用户的情况下,保护网站免受机器人和自动化滥用行为的侵扰。它会在后台分析用户行为以验证访问者是否为真人,并按需调整验证难度,仅在检测到可疑活动时才需要用户进行交互。在 Authany 中,Cloudflare Turnstile 是您可以集成用于机器人防护的服务之一。

自定义属性(Custom Attributes)

自定义属性让您可以为用户属性添加额外的字段。自定义属性可以帮助您记录标准属性中未包含的其他数据。

FIDO2

FIDO2 是一种开放的身份验证标准,通过使用公钥加密技术代替传统密码(即通行密钥),实现安全的无密码登录在线服务。它允许用户使用生物识别、PIN 码或物理安全密钥进行身份验证,确保私密凭证永远不会离开用户设备,从而使登录能够抵御网络钓鱼和凭证盗用。

Google reCAPTCHA

reCAPTCHA 是 Google 提供的一项安全服务,可以帮助网站区分真人用户和自动化机器人,防范垃圾信息、滥用行为,以及撞库攻击和虚假账号注册等欺诈活动。在 Authany 中,Google reCAPTCHA 是您可以集成用于机器人防护的服务之一。

用户组(Groups)

用户组是 Authany 中的一项访问管理功能,让您可以创建一个或多个用户组,为用户组添加角色,并将用户加入用户组。

如果用户属于某个用户组,该用户组的所有角色都会返回到该用户的资料中。参见我们的角色和用户组文档了解更多关于使用用户组的信息。

JWT

JWT 是 JSON Web Token 的缩写。JWT 是自包含的,可以安全地用于在服务器和客户端之间共享身份验证和授权信息。

JavaScript / TypeScript Hook

JavaScript / TypeScript Hook 是 Authany 管理台中的一项功能,让您可以编写自定义的 JavaScript / TypeScript 代码,在特定事件触发时运行。它的工作方式与传统 Webhook 十分相似,区别在于您不需要将脚本托管在外部服务器上。

魔法链接(Magic Link,也称为邮箱登录链接)是一种用户身份验证方式,它使用发送到用户邮箱的唯一登录链接来代替传统密码。

机器对机器(M2M)应用

M2M 应用是指那些需要与 API 资源安全通信、且不涉及人工交互的服务或机器。M2M 应用会关联到某个 API 资源及其作用域(权限)。这些应用使用 OAuth 2.0 客户端凭证流程向 Authany 请求短期访问令牌,然后使用该令牌对 API 资源进行身份验证。

多因素身份验证(MFA)

多因素身份验证(MFA)是一种应用安全措施,要求用户提供两种或以上的验证因素,以证明确实是本人在尝试访问自己的账号。例如,应用要求用户输入密码(用户知道的信息)并输入发送到手机上的 OTP(用户持有的物品)。

机器对机器(M2M)令牌

机器对机器(M2M)令牌是软件系统或设备在与其他机器通信时,用于自我验证身份和授权、且无需人工参与的访问令牌。这类令牌通常通过 OAuth 2.0 客户端凭证流程等协议签发,可信服务通过在 API 请求中携带该令牌,即可安全地访问受保护的资源。

非阻塞事件(Non-Blocking Events)

非阻塞事件是不会阻塞触发它们的操作的 Hook 事件。当 Authany 中发生某个事件时,您可以收到通知并调用自定义逻辑。

一次性密码(OTP)

一次性密码(OTP)是一种自动生成的唯一验证码,仅在单次登录会话或单次交易中有效,相比静态密码能提供额外的安全保障。OTP 通常通过短信、邮件或身份验证器应用发送,被广泛应用于多因素身份验证,以帮助防止未经授权的访问,并降低密码被重复使用或被截获的风险。

OAuth

OAuth 是一种开放的授权标准,让用户可以在不提供密码的情况下,安全地授权第三方应用访问自己的资料和数据。

Authany 支持 OAuth 2.0 标准,您可以使用它从自定义应用中访问用户的数据。

OpenID Connect (OIDC)

OpenID Connect (OIDC) 是一种基于 OAuth 2.0 标准的身份验证协议,让应用可以使用来自授权提供方的数据来验证用户身份。

您可以将 Authany 用作 OpenID Connect 提供方,为您的应用启用用户身份验证,而无需在应用中存储或管理用户密码。

通行密钥(Passkey)

使用通行密钥是一种现代的无密码登录方式。使用通行密钥时,用户的浏览器或操作系统会帮助其选择与网站或应用账号关联的当前通行密钥。通行密钥通过设备上的生物识别或 PIN 码验证用户身份,可以替代传统的 OTP 或生物识别登录。

无密码登录(Passwordless)

无密码是指任何不要求用户记忆并输入密码的登录方式,例如使用一次性验证码或链接来验证用户身份。

项目(Project)

Authany 项目是一个容器,用于保存与您的 Authany 实现相关的所有配置和数据。您可以为多个实现创建多个项目,以分离各自的配置和数据。每个项目都有一个唯一的 URL,供您与之交互。

重新身份验证(Reauthentication)

重新身份验证是指在已通过身份验证的用户执行敏感操作之前,再次验证其身份的过程。这一过程有助于提升安全性,确保用户不会使用可能已被泄露的旧授权来执行敏感操作。

刷新令牌(Refresh Token)

刷新令牌是一种特殊的令牌,可以用来获取新的访问令牌,而无需用户重新进行身份验证。

基于角色的访问控制(RBAC)

基于角色的访问控制(RBAC)是一种安全模型,根据用户在组织中预先定义的角色分配权限,以此管理用户对系统、应用和数据的访问。RBAC 不需要为每个人单独配置权限,而是按角色(如管理员、HR 经理或终端用户)对用户进行分组,并根据各角色的职责和需求授予相应的访问权限,从而简化管理,并通过贯彻最小权限原则来提升安全性。

角色(Roles)

在 Authany 中,可以为用户分配角色以实现 RBAC。角色会以数组形式,通过 Authany JWT 访问令牌和 UserInfo 中的 https://authgear.com/claims/user/roles 属性返回。

下面是一个如何使用角色的示例。在一个拥有 admin 和 reader 两种角色的博客应用中,您可以将编辑和新增文章的权限限制为仅 admin 角色的用户可用。参见我们关于角色和用户组的文档,了解更多关于在 Authany 中管理角色的信息。

SAML

SAML(Security Assertion Markup Language)是一种开放标准,可以在身份提供方(IdP)和服务提供方(SP)之间安全地交换身份验证和授权数据,最常见的用途是在多个 Web 应用之间实现单点登录(SSO)。它使用基于 XML 的断言来传递用户身份和访问权限,使用户只需验证一次身份,就可以访问多个服务,而无需为每个服务单独登录。

SDK

SDK 是 Software Development Kit(软件开发工具包)的缩写,是开发者用来为目标平台构建和调试自己应用的一套工具和代码。Authany 提供了多种流行语言、框架和平台的 SDK,让您可以为自己的应用添加身份验证功能,包括 JavaScript/React-native、Android、iOS、Flutter 和 Xamarin。

单点登录(SSO)

单点登录(简称 SSO)是一种身份验证方式,让用户只需登录一次,就可以访问多个应用,而无需为每个应用单独登录。

在 Authany 中,您可以为使用同一个 Authany 项目的多个应用启用 SSO。

社交登录(Social Login)

Authany 简化了让用户使用其在 Facebook、Google、LinkedIn、Github、Apple 等主流社交媒体网站上的现有账号登录您应用的流程。

您可以在 Authany 管理台的身份验证 > 社交 / 企业登录中启用此功能。

标准属性(Standard Attributes)

标准属性由邮箱、手机号、姓名、性别、生日等常见用户属性组成,其字段由 Authany 决定。您可以在用户资料 > 标准属性中查看完整的标准属性列表。

TOTP

TOTP 是 Time-based One-time Password(基于时间的一次性密码)的缩写。这是一种双重验证(2FA)方式,要求用户输入通过 Google Authenticator 或 Authy 等手机应用生成的、基于时间的一次性验证码。

用户首先需要通过扫描二维码或输入服务提供的密钥,在想要登录的服务上注册自己的设备。

用户匿名化(User Anonymization)

用户匿名化是删除正式用户的身份信息及其所有其他数据的过程。匿名化用户后,只会保留用户 ID。您可以立即匿名化某个用户,也可以为其设置定时匿名化。

用户删除(User Deletion)

用户删除是彻底删除用户账号及其所有关联数据的过程,可以立即执行,也可以设置为定时执行。

用户设置(User Settings)

这是 Authany 作为 Auth UI 一部分提供的默认页面之一。用户可以在此页面查看自己的账号详情和设置。

UserInfo 端点(UserInfo Endpoint)

UserInfo 端点是您 Authany 应用中的一个 HTTP 端点,客户端应用可以代表已通过身份验证的用户向该端点发送请求,以获取其账号信息。该端点会返回一个包含 email、sub 等用户数据的 JSON 响应。

Webhook

Webhook 是一种将某个 Web 应用上发生的事件通知发送给另一个 Web 应用的方法。

当新建用户等事件被触发时,Authany 的 Webhook 可以向您指定的 URL 发送 HTTP POST 请求。该 HTTP 请求包含一个携带事件相关数据的 payload。使用 Webhook,您可以为 Authany 项目实现更多自定义功能。

零信任(Zero Trust)

零信任是一种安全模型,假定无论用户、设备还是系统——无论位于组织网络内部还是外部——默认都不应被信任,每一次访问请求都需要经过严格的身份验证和持续的身份确认。零信任不依赖传统的网络边界,而是通过实施最小权限访问、精细化控制和持续监控,最大限度降低数据泄露风险,防止攻击者在网络内部横向移动。