如有疑问,请看视频:CAS单点登录(第7版)
多因素身份验证(Multifactor Authentication MFA)是一种安全机制,要求用户提供两种或更多种不同类型的验证信息,以增强账户的安全性。将MFA集成到CAS中,可以显著提高系统的安全性,防止未经授权的访问。
MFA 通常涉及以下三种类型的身份验证因素:
- 你知道的东西:如密码、PIN 码等。
- 你拥有的东西:如手机、硬件令牌、智能卡等。
- 你是谁:如指纹、面部识别、虹膜扫描等生物特征。
CAS 支持各种多因素身份验证提供程序和选项,同时允许用户设计自己的身份验证提供程序和选项。辅助身份验证因素始终在主要步骤之后启动,如果请求或触发器需要,将要求现有身份验证会话升级到所需的多因素身份验证因素。满意的身份验证上下文也会传回应用程序,以表示成功的多因素身份验证事件。
您至少需要回答以下问题:
CAS 支持以下多因子提供程序。
供应商 | Id | 指示 |
Duo Security | mfa-duo | 请参阅本指南。 |
YubiKey | mfa-yubikey | 请参阅本指南。 |
RSA/RADIUS | mfa-radius | 请参阅本指南。 |
谷歌身份验证器 | mfa-gauth | 请参阅本指南。 |
FIDO2 WebAuthN | mfa-webauthn | 请参阅本指南。 |
CAS Simple | mfa-simple | 请参阅本指南。 |
Inwebo | mfa-inwebo | 请参阅本指南。 |
自定义 | 自定义 | 请参阅本指南。 |
Azure 多重
Microsoft 已删除外部 SSO 服务器使用 Azure MFA 的功能。要使用 Azure MFA,还必须让所有用户使用 Azure AD SSO 进行身份验证。你可能希望使用 CAS 的委托身份验证功能将身份验证请求路由到 Azure AD SSO。
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.core.provider-selection.cookie.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.core.provider-selection.cookie.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.core.provider-selection.provider-selector-groovy-script.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
可以通过多个触发器激活 Multi-Factor Authentication。要了解更多信息,请参阅本指南。
每个 MultiFactor Provider 都配备了允许 MFA Bypass的选项。要了解更多信息,请参阅本指南。
如果无法访问所请求的提供程序,CAS 将查阅当前配置,以确定如何继续。要了解更多信息,请参阅本指南。
有一些选项和控件可用于允许 CAS 选择多因素身份验证提供程序,以防多个触发器和条件激活多个提供程序。要了解更多信息,请参阅本指南。
Duo Security 是一项两步验证服务,为访问机构和个人数据提供额外的安全性。
Duo 提供了多种用户身份验证选项:
移动推送通知和一键式身份验证到智能手机(需要免费的 Duo Mobile 应用程序)
在智能手机上生成的一次性代码
由 Duo 生成并通过 SMS 文本消息发送到手机的一次性代码
来自该机构的电话呼叫将提示您验证登录请求
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-duo"} |
-
-
-
-
- 配置
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.duo[0].bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.mfa.duo[0].bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.RestEndpointProperties. 如何配置此属性? |
· cas.authn.mfa.duo[0].duo-api-host= Duo API 主机和 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.duo.DuoSecurityMultifactorAuthenticationProperties. 如何配置此属性? |
· cas.authn.mfa.duo[0].duo-integration-key= Duo 集成密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.duo.DuoSecurityMultifactorAuthenticationProperties. 如何配置此属性? |
· cas.authn.mfa.duo[0].duo-secret-key= Duo 密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.duo.DuoSecurityMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
-
-
-
-
-
- Bypass
-
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.duo[0].bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.mfa.duo[0].bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.RestEndpointProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
-
- 执行器端点
-
-
-
CAS 提供以下端点:
GET | /cas/actuator/duoPing |
Ping Duo Security 给出了提供商 ID。
GET | /cas/actuator/duoAccountStatus/{username} |
GET | /cas/actuator/health |
GET | /cas/actuator/health/{path} |
GET | /cas/actuator/duoAdmin/{username} |
POST | /cas/actuator/duoAdmin/bypassCodes |
PUT | /cas/actuator/duoAdmin/{username} |
-
-
-
-
- 多个实例
-
-
-
对 Duo Security 的 CAS 多因素身份验证支持允许为多个 Duo 提供程序配置不同的 ID,每个 ID 都可以连接到具有不同配置的单独 Duo Security 实例。此行为允许更敏感的应用程序连接到具有更严格和安全身份验证策略的 Duo 实例。
要使此行为正常运行,需要将您自己选择的单独唯一 ID 分配给每个 Duo Securityprovider。每个提供程序实例都向 CAS 注册,并根据需要在 authenticationflows 中激活。如果只有一个 Duo 实例可用,则无需定义提供程序 ID。
-
-
-
-
- 帐户配置文件管理
-
-
-
与 Duo Security 的集成能够将用户设备注册信息提供给 CAS 中的账户配置文件管理功能。有关更多详细信息,请参阅本指南。
-
-
-
-
- 健康状况
-
-
-
CAS 能够按需联系 Duo Security,以便使用 Duo Security 的 ping API 查询服务的运行状况。操作结果使用 CAS 监控终端节点提供的health终端节点进行记录和报告。当然,整个 Duo 身份验证流程中的相同结果也用于确定故障模式。
-
-
-
-
- 通用提示
-
-
-
通用提示是使用 Duo OIDC 身份验证 API 的 Duo Multifactor Authentication 的变体。这是一个基于 OIDC 标准的 API,用于向 CAS 添加强双重身份验证。此选项不再在 CAS 控制和拥有的 iFrame 中显示 Duo 提示。相反,该提示现在托管在 Duo 的服务器上,并通过浏览器重定向显示。来自 Duo Security 的响应将作为浏览器重定向传递到 CAS,CAS 将开始协商和交换该响应,以支持包含多因素身份验证用户配置文件详细信息的 JWT。
通用提示不再要求您生成和使用 applicationkey 值。相反,它需要客户端 ID 和客户端密钥,这是已知的,并使用集成密钥和密钥配置设置教给 CAS。将 CAS 注册为受保护的应用程序时,您需要从 Duo Security 获取集成密钥、密钥和 APIhostname。
-
-
-
-
- 非浏览器 MFA
-
-
-
CAS 的 Duo Security 模块还能够支持非基于浏览器的多因素身份验证请求。为了触发此行为,应用程序(即 curl、REST API 等)需要指定一个特殊的Content-Type,以向 CAS 发出请求是从非基于 Web 的环境提交的信号。多因素身份验证请求以auto模式提交给 Duo Security,这实际上可能会转换为 Duo 推荐的带外因素(推送或电话),作为用户设备的最佳选择。
为了成功完成身份验证流程,还必须为 CAS 配置一种主身份验证方法,该方法能够支持非基于 Web 的环境,例如基本身份验证。
下面是一个使用 curl 的示例,它尝试通过首先执行基本身份验证来对服务进行身份验证,同时将请求内容类型标识为 application/cas。假设以下服务在 CAS 中配置了特殊的多因素策略,该策略也强制流通过 Duo Security。
1 | curl --location --header "Content-Type: application/cas" https://apps.example.org/myapp -L -u casuser:Mellon |
-
-
-
-
- REST 协议凭证提取
-
-
-
如果 CAS REST 协议已打开,则会将特殊凭证提取器注入 REST 身份验证引擎,以便识别凭证并作为 REST 请求的一部分对其进行验证。请求正文中的预期参数名称是passcode,可以从 Duo Security 的移动应用程序中找到或通过 SMS 接收。
-
-
-
-
- 无密码身份验证
-
-
-
与 Duo Security 的集成还可以充当无密码身份验证的帐户存储。需要在符合条件的 Multifactor Authentication Provider 的 CAS 设置中显式启用此行为。
-
-
-
-
- 故障排除
-
-
-
要启用其他日志记录,请配置 log4j 配置文件以添加以下级别:
1 2 3 4 5 6 | ...<Logger name="com.duosecurity" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/></Logger> ... |
您还应该使用 NTP 来确保 CAS 服务器的时间正确。此外,CAS 通常通过 TCP 端口 443 与 Duo 的服务通信。Duo Security 不建议使用使用目标 IP 地址或 IP 地址范围的规则来限制对 Duo 服务的出站访问的防火墙配置,因为这些配置可能会随着时间的推移而改变,以保持我们服务的高可用性。
-
-
-
- 用户注册
- Duo Security 用户注册
- 用户注册
-
-
如果用户未向 Duo Security 注册或通过直接绕过允许通过,则 CAS 将先验地向 Duo Security 查询用户帐户,以了解用户是否已注册或配置为直接绕过。如果帐户配置为直接绕过,或者用户帐户尚未注册,则新用户注册策略允许用户跳过注册,则 CAS 将完全绕过 Duo Security,不会质询用户,也不会将启用多因素身份验证的上下文报告回应用程序。
YMMV
在最近与 Duo Security 的对话中,事实证明 API 行为发生了变化(出于安全原因),它可能无法再准确报告帐户状态。这意味着,即使上述条件成立,CAS 也可以继续将用户路由到从 API 获得资格状态的 Duo Security。据报道,Duo Security 正在努力修复以更安全的方式恢复 API 行为。与此同时,YMMV.
如果您不想依赖 Duo Security 的内置注册流程,而是拥有自己的允许用户注册和注册 Duo Security 的注册应用程序,则可以指示 CAS重定向到您的注册应用程序(如果用户的账户状态被确定为需要注册)。这通常意味着您必须在 CAS 中打开用户账户状态检查,以便它可以直接使用 Duo Security 验证用户的账户状态。您还必须确保在 Duo Security 的管理仪表板中选择的集成类型是允许 CAS 执行此类请求的正确类型,当然,相关用户之前不得在 Duo Security 的任何地方加入、注册或创建。
指向注册应用程序的重定向 URL 可能包含一个特殊的 principal 参数,该参数包含用户的身份 JWT。必须先在 Duo Security 注册的 CAS 设置中启用密码操作和设置,然后才能构建此参数并将其添加到最终 URL。
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.duo[0].registration.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.duo[0].registration.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
- YubiKey
- 概述
- YubiKey 身份验证
- 概述
- YubiKey
-
-
Yubico 是一项基于云的服务,通过其旗舰产品 YubiKey 使用一次性密码实现强大、易于使用且经济实惠的双因素身份验证。获得 Yubico client-id 和 secret-key 后,即可使用配置 YubiKey 设备作为 CAS 服务器可用于验证用户的主要身份验证源。
要配置 YubiKey 帐户并获取 API 密钥,请参阅文档。
YubiKey 身份验证组件是通过在 WAR 覆盖中包含以下依赖项来启用的:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-yubikey"} |
-
-
-
-
-
-
- 执行器端点
-
-
-
-
-
CAS 提供以下端点:
DELETE | /cas/actuator/yubikeyAccountRepository/{username} |
删除 username 的 Yubikey 帐户。
DELETE | /cas/actuator/yubikeyAccountRepository |
GET | /cas/actuator/yubikeyAccountRepository/{username} |
GET | /cas/actuator/yubikeyAccountRepository |
GET | /cas/actuator/yubikeyAccountRepository/export |
POST | /cas/actuator/yubikeyAccountRepository/import |
-
-
-
-
-
-
- 配置
-
-
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Hibernate 和 JDBC
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.client-id=0 Yubikey 客户端 ID。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMultifactorAuthenticationProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
显示 1 到 5 的 37 个条目
上一页12345...8下一页
默认情况下,允许用户的所有 YubiKey 账户进行身份验证。需要授权进行身份验证的设备需要遵循带外注册过程,其中它们的记录位于以下存储后端之一中。身份验证后,CAS 将开始在配置的注册数据库中搜索已验证的用户和设备的匹配记录,以便成功进行验证事件。
存储 | 描述 |
JSON 格式 | 请参阅本指南。 |
REST | 请参阅本指南。 |
许可的 | 请参阅本指南。 |
JPA | 请参阅本指南。 |
Redis | 请参阅本指南。 |
DynamoDb | 请参阅本指南。 |
MongoDb 数据库 | 请参阅本指南。 |
自定义 | 请参阅本指南。 |
-
-
-
-
-
-
-
- Bypass
-
-
-
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
-
-
-
- 设备/账户验证
-
-
-
-
-
如果应该注册新的 YubiKey,则可能需要在将帐户注册到底层 store 之前执行额外的验证过程。默认情况下,设备注册步骤仅验证设备令牌。如果您希望扩展此行为,您可以设计自己的验证器,根据替代来源和数据库交叉检查帐户的有效性和授权:
1 2 3 4 5 6 7 8 9 10 11 | package org.apereo.cas.support.yubikey; @AutoConfiguration@EnableConfigurationProperties(CasConfigurationProperties.class)public class MyYubiKeyConfiguration { @Bean public YubiKeyAccountValidator yubiKeyAccountValidator() { ... }} |
请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。
-
-
-
-
-
-
- REST 协议凭证提取
-
-
-
-
-
如果 CAS REST 协议已打开,则会将特殊凭据提取器注入 REST 身份验证引擎,以便识别 YubiKey 凭据并作为 REST 请求的一部分对其进行身份验证。请求正文中的预期参数名称为 yubikeyotp。
-
-
-
-
- 设备注册
- JSON格式
- JSON YubiKey 注册
- JSON格式
- 设备注册
-
-
-
如果在 CAS 设置中指定了文件路径,则可以在 JSON 文件中跟踪注册记录。
JSON 结构是用户 ID 到代表任何特定设备的 yubikey 公共 ID 的映射:
1 2 3 4 | { "uid1": ["yubikeyPublicId1"], "uid2": ["yubikeyPublicId2"]} |
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.yubikey.json= 将设备注册记录保存在静态 JSON 资源中。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- JPA
- JPA YubiKey 注册
- JPA
-
-
-
通过在 WAR 覆盖中包含以下依赖项来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-yubikey-jpa"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
Hibernate 和 JDBC
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.jpa.driver-class=org.hsqldb.jdbcDriver 用于连接到数据库的 JDBC 驱动程序。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyJpaMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.jpa.password= 数据库连接密码。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyJpaMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.jpa.url=jdbc:hsqldb:mem:cas-hsql-database 数据库连接 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyJpaMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.jpa.user=sa 数据库用户必须具有足够的权限,才能在需要时处理架构更改和更新。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyJpaMultifactorProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
由 CAS 自动创建和配置的预期数据库架构包含一个作为 YubiKeyAccount 的表,其中包含以下字段:
田 | 描述 |
id | 唯一记录标识符,充当主键。 |
publicId | 用于身份验证的设备的公共标识符/密钥。 |
username | 设备已注册的用户名。 |
-
-
-
-
- DynamoDb
- DynamoDb YubiKey 注册
- DynamoDb
-
-
-
通过在 WAR 覆盖中包含以下依赖项来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-yubikey-dynamodb"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.dynamo-db.credential-access-key= 使用 AWS 提供的访问密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyDynamoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.dynamo-db.credential-secret-key= 使用 AWS 提供的密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyDynamoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.dynamo-db.dax.url= Cluster url 的 URL 中。例如,dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbDaxProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.dynamo-db.endpoint= AWS 自定义终端节点。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyDynamoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.dynamo-db.region= 使用的 AWS 区域。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyDynamoDbMultifactorProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
- MongoDb 数据库
- MongoDb YubiKey 注册
- MongoDb 数据库
-
-
-
通过在 WAR 覆盖中包含以下依赖项来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-yubikey-mongo"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.mongo.client-uri= mongodb 实例的连接 URI。这通常采用 mongodb://user:psw@ds135522.somewhere.com:35522/db 的形式。如果未指定,将回退到其他单个设置。如果指定,则接管所有其他设置(如果适用)。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.mongo.collection= 要获取和/或创建的 MongoDb 数据库集合名称。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.mongo.database-name= MongoDb 数据库实例名称。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.mongo.host=localhost 用于身份验证的 MongoDb 数据库主机。可以定义多个主机地址,用逗号分隔。如果定义了多个主机,则假定每个主机也包含端口(如果有)。否则,配置可能会回退到定义的端口。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.mongo.password= 用于身份验证的 MongoDb 数据库密码。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMongoDbMultifactorProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
注册记录保存在您选择的单个 MongoDb 集合中,该集合将由 CAS 自动创建。此集合的结构如下:
田 | 描述 |
id | 唯一记录标识符,充当主键。 |
publicId | 用于身份验证的设备的公共标识符/密钥。 |
username | 设备已注册的用户名。 |
-
-
-
-
- 许可的
- 宽容的 YubiKey 注册
- 许可的
-
-
-
注册记录可以通过 CAS 设置以映射的形式静态指定,该映射将注册的用户名与 YubiKey 设备的公共 ID 链接起来。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.yubikey.allowed-devices= 每个用户允许的允许设备的集合。这是使用键值结构完成的,其中键是用户,值是允许的 yubikey 设备 ID 集合。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- Redis
- Redis YubiKey 注册
- Redis
-
-
-
通过在 WAR 覆盖中包含以下依赖项来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-yubikey-redis"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.redis.cluster.nodes[0].host= 服务器的主机地址。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.redis.cluster.nodes[0].port= 服务器的端口号。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.redis.cluster.nodes[0].replica-of= 设置 master 节点的 id。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.redis.cluster.nodes[0].type= 指示此节点的类型/角色。接受的值为 MASTER, REPLICA 。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.yubikey.redis.cluster.password= 集群连接的密码。 org.apereo.cas.configuration.model.support.redis.RedisClusterProperties. 如何配置此属性? |
显示 1 到 5 个条目,共 14 个条目
上一页123下一页
-
-
-
-
- REST
- REST YubiKey 注册
- REST
-
-
-
可以使用外部 REST API 跟踪注册记录。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.yubikey.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.yubikey.YubiKeyRestfulMultifactorProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
以下端点应由 REST API 提供和实施:
方法 | 端点 | 描述 |
GET | / | 获取所有已注册的记录。 |
GET | /{user} | 获取用户的所有已注册记录。 |
DELETE | / | 删除所有已注册的记录。 |
DELETE | /{user} | 删除用户的所有已注册记录。 |
DELETE | /{user}/{id} | 从用户的注册记录中按其 ID 删除已注册的设备。 |
POST | / | 存储作为请求正文传递的注册记录。 |
-
-
-
-
- 自定义
- 自定义 YubiKey 注册
- 自定义
-
-
-
如果您希望插入一个自定义注册表实现来确定允许哪些用户使用他们的 YubiKey 帐户进行身份验证,您可以插入 YubiKeyAccountRegistry 的自定义实现,该实现允许您提供用户名和 YubiKey 公钥之间的映射。
1 2 3 4 5 6 7 8 9 10 11 | package org.apereo.cas.support.yubikey; @AutoConfiguration@EnableConfigurationProperties(CasConfigurationProperties.class)public class MyYubiKeyConfiguration { @Bean public YubiKeyAccountRegistry yubiKeyAccountRegistry() { ... }} |
-
-
-
- RSA/半径
- RADIUS 身份验证
- RSA/半径
-
-
RADIUS 支持仅通过在覆盖中包括以下依赖项来启用:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 | implementation "org.apereo.cas:cas-server-support-radius:${project.'cas.version'}" |
-
-
-
-
- 配置
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
密码编码
主体转换
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.radius.client.inet-address=localhost 用于连接和建立会话的服务器地址。 org.apereo.cas.configuration.model.support.radius.RadiusClientProperties. 如何配置此属性? |
· cas.authn.radius.client.shared-secret=N0Sh@ar3d$ecReT 用于初始绑定的密钥/密码。 org.apereo.cas.configuration.model.support.radius.RadiusClientProperties. 如何配置此属性? |
· cas.authn.radius.password-encoder.encoding-algorithm= 要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。 org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties. 如何配置此属性? |
· cas.authn.radius.password-encoder.type=NONE 可以使用以下类型: NONE:不进行密码编码(即纯文本)。 DEFAULT:使用 CAS 的 DefaultPasswordEncoder。对于通过 character-encoding 和 encoding-algorithm 的消息摘要算法。 BCRYPT根据提供的强度和可选密钥使用 BCryptPasswordEncoder。 SCRYPT使用 SCryptPasswordEncoder。 PBKDF2:根据提供的强度和可选的密钥使用 Pbkdf2PasswordEncoder。 STANDARD根据提供的密钥使用 StandardPasswordEncoder。 SSHA使用 LdapShaPasswordEncoder 支持 Ldap SHA 和 SSHA (salted-SHA)。这些值采用 base-64 编码,并在编码的哈希前面加上标签 {SHA} 或 {SSHA}。 GLIBC_CRYPT:根据编码encoding-algorithm、提供的强度和可选的密钥使用 GlibcCryptPasswordEncoder。 org.example.MyEncoder:您自己选择的 PasswordEncoder 实现。 file:///path/to/script.groovy:负责处理密码编码操作的 Groovy 脚本的路径。 org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties. 如何配置此属性? |
· cas.authn.radius.principal-transformation.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.core.authentication.GroovyPrincipalTransformationProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
- RSA 半径 MFA
-
-
-
RSA RADIUS OTP 对 MFA 的支持是通过仅在覆盖中包含以下依赖项来启用的:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-radius-mfa"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.radius.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.radius.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.radius.client.inet-address=localhost 用于连接和建立会话的服务器地址。 org.apereo.cas.configuration.model.support.radius.RadiusClientProperties. 如何配置此属性? |
· cas.authn.mfa.radius.client.shared-secret=N0Sh@ar3d$ecReT 用于初始绑定的密钥/密码。 org.apereo.cas.configuration.model.support.radius.RadiusClientProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
-
- Bypass
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.radius.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.radius.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
- 谷歌身份验证器
- 概述
- Google Authenticator 身份验证
- 概述
- 谷歌身份验证器
-
-
Google Authenticator 会在您的手机上生成两步验证码。使用两步验证时,除了主要身份验证外,登录还需要 Google Authenticator 应用程序生成的验证码。在此处了解有关该主题的更多信息。
请注意,此处介绍的功能还应与 LastPass Authenticator 等兼容。
-
-
-
-
-
- 配置
-
-
-
-
通过在覆盖中包含以下模块来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-gauth"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.core.issuer=CASIssuer 处理设备注册事件时在条形码中使用的颁发者。在注册 URL 中用于标识 CAS。 org.apereo.cas.configuration.model.support.mfa.gauth.CoreGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.core.label=CASLabel 处理设备注册事件时条形码中使用的标签。在注册 URL 中用于标识 CAS。 org.apereo.cas.configuration.model.support.mfa.gauth.CoreGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.core.scratch-codes.encryption.key= 加密密钥。默认情况下,除非另有指定,否则加密密钥必须是随机生成的字符串,其长度由加密密钥大小设置定义。 org.apereo.cas.configuration.model.core.util.EncryptionRandomizedCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
-
-
- Bypass
-
-
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
-
-
- 执行器端点
-
-
-
-
CAS 提供以下端点:
DELETE | /cas/actuator/gauthCredentialRepository/{username} |
删除用户的帐户。
DELETE | /cas/actuator/gauthCredentialRepository |
GET | /cas/actuator/gauthCredentialRepository/export |
GET | /cas/actuator/gauthCredentialRepository/{username} |
GET | /cas/actuator/gauthCredentialRepository |
POST | /cas/actuator/gauthCredentialRepository/import |
-
-
-
-
-
- Token 存储库
-
-
-
-
为了防止重复使用颁发的令牌,CAS 将尝试跟踪成功用于验证用户的令牌。定期扫描和清理保存注册记录和令牌的存储库,以便可以删除过期和以前使用的令牌。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.gauth.cleaner.schedule.cron-expression= 一个类似 cron 的表达式,扩展了通常的 UN*X 定义,以包括秒、分钟、小时、月日、月和星期几的触发器。例如,0 * * * * MON-FRI 表示工作日每分钟一次(在分钟的顶部 - 第 0 秒),或 0 0 0 * * * 表示每天午夜。* 请注意,定义 cron 表达式时,必须删除 start delay 和 repeat interval 设置并将其设置为空白。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.cleaner.schedule.cron-time-zone= 将解析 cron 表达式的时区。默认情况下,此属性为空(即将使用调度程序的时区)。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.cleaner.schedule.enabled-on-host=.* 如果此属性与 CAS 服务器的主机名不匹配,则覆盖 SchedulingProperties#enabled 属性值 true。如果在 statefulset 中部署带有镜像的 CAS,其中所有名称都是可预测的,但很难为不同的服务器使用不同的配置,那么这可能很有用。该值可以是确切的主机名,也可以是将用于匹配主机名的正则表达式。 此设置支持正则表达式模式。[?]. org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.cleaner.schedule.enabled=true 是否应启用计划程序来计划作业运行。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.cleaner.schedule.repeat-interval=PT2M 为数据存储实施重新加载数据的重复间隔的字符串表示形式。这是连续任务执行之间的超时。 此设置支持java.time.Duration 语法 [?]。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
-
-
-
-
-
- 注册
-
-
-
-
默认情况下,包含一个账户注册表实现,用于收集用户设备注册并将其保存到内存中。颁发的令牌也会被捕获到自清理缓存中,以防止令牌在可配置的时间段内重复使用。此选项应仅用于演示和测试目的。此功能的生产部署将需要单独实现能够将账户注册到持久存储的注册表。
请注意,允许每个个人账户注册多个设备,以便稍后用于多因素身份验证。在鉴权流程中,如果找到多条设备注册记录,系统会要求用户选择合适的设备进行鉴权。可以通过 CAS 设置来控制处理多个设备注册记录的能力。
存储 | 描述 |
JPA | 请参阅本指南。 |
MongoDb 数据库 | 请参阅本指南。 |
DynamoDb | 请参阅本指南。 |
Redis | 请参阅本指南。 |
LDAP 协议 | 请参阅本指南。 |
REST | 请参阅本指南。 |
JSON 格式 | 请参阅本指南。 |
-
-
-
-
-
- REST 协议凭证提取
-
-
-
-
如果 CAS REST 协议已打开,则会将特殊凭证提取器注入 REST 身份验证引擎,以便识别凭证并作为 REST 请求的一部分对其进行验证。请求正文中的预期参数名称为 gauthotp。还可以使用请求正文中的 gauthacct 参数传递帐户标识符。
-
-
-
-
-
- 帐户配置文件管理
-
-
-
-
与 Google Authenticator 的集成能够将用户设备注册信息提供给 CAS 中的账户配置文件管理功能。有关更多详细信息,请参阅本指南。
-
-
-
-
- 设备注册
- JPA
- JPA Google Authenticator 注册
- JPA
- 设备注册
-
-
-
注册记录和令牌可以通过以下模块保存在数据库实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-gauth-jpa"} |
要了解如何配置数据库驱动程序,请参阅本指南。
CAS 配置目录中提供了以下设置和属性:
必填
自选
Hibernate 和 JDBC
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.jpa.driver-class=org.hsqldb.jdbcDriver 用于连接到数据库的 JDBC 驱动程序。 org.apereo.cas.configuration.model.support.mfa.gauth.JpaGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.jpa.password= 数据库连接密码。 org.apereo.cas.configuration.model.support.mfa.gauth.JpaGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.jpa.url=jdbc:hsqldb:mem:cas-hsql-database 数据库连接 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.gauth.JpaGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.jpa.user=sa 数据库用户必须具有足够的权限,才能在需要时处理架构更改和更新。 org.apereo.cas.configuration.model.support.mfa.gauth.JpaGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
-
-
- JSON格式
- JSON Google 身份验证器注册
- JSON格式
-
-
-
-
所有用户的注册记录也可以保存在单个 JSON 文件中。仅当提供了 JSON 数据存储文件的路径时,才会激活该行为,否则 CAS 可能会回退到将记录保留在内存中。此功能在开发和演示期间最有用。
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.json.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.gauth.JsonGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
-
- LDAP协议
- LDAP Google 身份验证器注册
- LDAP协议
-
-
-
-
注册记录可以通过以下模块保存在 LDAP/AD 系统内:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-gauth-ldap"} |
帐户注册记录作为 JSON blob 保存在指定的可配置多值属性中。解析属性值以加载、保存、更新或删除帐户。如有必要,可以对每个属性值的内容进行签名/加密。
CAS 配置目录中提供了以下设置和属性:
必填
自选
LDAP & Active Directory
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.ldap.account-attribute-name=casGAuthRecord 将 GAuth 帐户/凭证保存为 JSON 的 LDAP 属性的名称。 org.apereo.cas.configuration.model.support.mfa.gauth.LdapGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.ldap.base-dn= 要使用的基本 DN。在某些情况下,单个 LDAP 树的不同部分可能被视为 base-dns。可以使用特殊的分隔符指定每个条目并将其连接在一起,而不是为每个单独的 base-dn 复制 LDAP 配置块。用户 DN 按定义的顺序使用所有 base-dn 和 DN 解析程序的组合进行检索。如果找到多个 DN,则 DN 解析应失败。否则,将返回找到的第一个 DN。通常的语法是:subtreeA,dc=example,dc=net|subtreeC,dc=example,dc=net。 org.apereo.cas.configuration.model.support.mfa.gauth.LdapGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.ldap.bind-credential= 连接到 LDAP 时要使用的绑定凭证。 org.apereo.cas.configuration.model.support.mfa.gauth.LdapGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.ldap.bind-dn= 连接到 LDAP 时要使用的绑定 DN。注入 LDAP 连接池的 LDAP 连接配置可以使用以下参数进行初始化: bindDn/bindCredential provided - 在初始化连接时使用提供的凭证进行绑定。 bindDn/bindCredential 设置为 * - 使用快速绑定策略初始化池。 bindDn/bindCredential 设置为空白 - 跳过连接初始化;匿名执行操作。 提供的 SASL 机制 - 初始化连接时使用给定的 SASL 机制进行绑定。 org.apereo.cas.configuration.model.support.mfa.gauth.LdapGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.ldap.ldap-url= 服务器的 LDAP URL。可以指定多个,用空格和/或逗号分隔。 org.apereo.cas.configuration.model.support.mfa.gauth.LdapGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
-
-
-
-
-
- MongoDb 数据库
- MongoDb Google Authenticator 注册
- MongoDb 数据库
-
-
-
-
注册记录和令牌可以通过以下模块保存在 MongoDb 实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-gauth-mongo"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.mongo.client-uri= mongodb 实例的连接 URI。这通常采用 mongodb://user:psw@ds135522.somewhere.com:35522/db 的形式。如果未指定,将回退到其他单个设置。如果指定,则接管所有其他设置(如果适用)。 org.apereo.cas.configuration.model.support.mfa.gauth.MongoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.mongo.collection= 要获取和/或创建的 MongoDb 数据库集合名称。 org.apereo.cas.configuration.model.support.mfa.gauth.MongoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.mongo.database-name= MongoDb 数据库实例名称。 org.apereo.cas.configuration.model.support.mfa.gauth.MongoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.mongo.host=localhost 用于身份验证的 MongoDb 数据库主机。可以定义多个主机地址,用逗号分隔。如果定义了多个主机,则假定每个主机也包含端口(如果有)。否则,配置可能会回退到定义的端口。 org.apereo.cas.configuration.model.support.mfa.gauth.MongoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.mongo.password= 用于身份验证的 MongoDb 数据库密码。 org.apereo.cas.configuration.model.support.mfa.gauth.MongoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
显示 1 到 5 的 8 个条目
上一页12下一页
-
-
-
-
-
- DynamoDb
- DynamoDb Google Authenticator 注册
- DynamoDb
-
-
-
-
注册记录和令牌可以通过以下模块保存在 DynamoDb 实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 | implementation "org.apereo.cas:cas-server-support-gauth-dynamodb:${project.'cas.version'}" |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.dynamo-db.credential-access-key= 使用 AWS 提供的访问密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.gauth.DynamoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.dynamo-db.credential-secret-key= 使用 AWS 提供的密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.gauth.DynamoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.dynamo-db.dax.url= Cluster url 的 URL 中。例如,dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbDaxProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.dynamo-db.endpoint= AWS 自定义终端节点。 org.apereo.cas.configuration.model.support.mfa.gauth.DynamoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.dynamo-db.region= 使用的 AWS 区域。 org.apereo.cas.configuration.model.support.mfa.gauth.DynamoDbGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
-
- Redis
- Redis Google Authenticator 注册
- Redis
-
-
-
-
注册记录和令牌可以通过以下模块保存在 Redis 实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-gauth-redis"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.redis.cluster.nodes[0].host= 服务器的主机地址。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.redis.cluster.nodes[0].port= 服务器的端口号。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.redis.cluster.nodes[0].replica-of= 设置 master 节点的 id。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.redis.cluster.nodes[0].type= 指示此节点的类型/角色。接受的值为 MASTER, REPLICA 。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.redis.cluster.password= 集群连接的密码。 org.apereo.cas.configuration.model.support.redis.RedisClusterProperties. 如何配置此属性? |
显示 1 到 5 个条目,共 14 个条目
上一页123下一页
-
-
-
-
-
- REST
- REST Google Authenticator 注册
- REST
-
-
-
-
注册记录也可以传递到 REST 端点。仅当提供端点 URL 时,才会激活该行为。
方法 | 头 | 预期响应 | 行为 |
GET | username | 200. 用户正文中的帐户记录。 | 获取用户记录 |
GET | id | 200. 用户正文中的帐户记录。 | 获取给定标识符的记录。 |
GET | id、username | 200. 用户正文中的帐户记录。 | 获取给定标识符的用户记录。 |
GET | 不适用 | 200. 当前注册的账户记录。 | 获取所有记录 |
DELETE | 不适用 | 200 | 删除所有记录。 |
DELETE | username | 200. 计算已删除的记录。 | 删除分配给用户的所有记录 |
DELETE | id | 200 | 删除分配给给定标识符的所有记录。 |
POST | username, validationCode, secretKey, scratchCodes, name | 200. 正文中的 true/false。 | 保存用户记录 |
列出用户的设备注册记录的示例有效负载可能是:
1 2 3 4 5 6 7 8 9 10 11 12 | [ "java.util.ArrayList", [{ "@class": "org.apereo.cas.gauth.credential.GoogleAuthenticatorAccount", "scratchCodes": ["java.util.ArrayList", [14883628,81852839,40126334,86724930,54355266] ], "id": 123456, "secretKey": "UM6ALPJU34CBNFTBBLRFMKBNANMFAIBW", "validationCode": 565889, "username": "casuser", "name": "required-account-name", "registrationDate": "2018-06-20T09:47:31.761155Z" }]] |
以下端点也需要可用:
方法 | 端点 | 头 | 预期响应 | 行为 |
GET | count | 不适用 | 200. 数字计数 | 对所有记录进行计数 |
GET | count | username | 200. 数字计数 | 对用户的所有记录进行计数 |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.gauth.rest.token-url= REST 资源的端点 URL,用于保留用于防止重放攻击的令牌。 org.apereo.cas.configuration.model.support.mfa.gauth.RestfulGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.gauth.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.gauth.RestfulGoogleAuthenticatorMultifactorProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
- 简单
- 概述
- 简单的多因素身份验证
- 概述
- 简单
-
-
允许 CAS 自行充当多因素身份验证提供商,颁发令牌并通过预定义的通信渠道(如电子邮件或短信)将其发送给最终用户。
-
-
-
-
-
- 配置
-
-
-
-
通过在覆盖中包含以下模块来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-simple-mfa"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.simple.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.simple.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.simple.phone.attribute-name=phone 指示此语音消息的目标电话号码的主体属性名称。该属性必须已解析并可供 CAS 主体使用。 org.apereo.cas.configuration.model.support.phone.PhoneProperties. 如何配置此属性? |
· cas.authn.mfa.simple.phone.from= 邮件的发件人地址。 org.apereo.cas.configuration.model.support.phone.PhoneProperties. 如何配置此属性? |
· cas.authn.mfa.simple.phone.text= 电话呼叫消息的正文。 org.apereo.cas.configuration.model.support.phone.PhoneProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
-
-
- Bypass
-
-
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.simple.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.simple.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.simple.token.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.simple.token.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
-
-
- 注册
-
-
-
-
注册应作为带外过程进行。最终,CAS 希望从配置的属性源中获取必要的属性,以确定电子邮件和/或 SMS 的通信渠道。采用者应使用足够的信息填充用户记录,以指示电话号码和/或电子邮件地址,然后可以将 CAS 配置为获取和检查这些属性以共享生成的令牌。
-
-
-
-
-
- 沟通策略
-
-
-
-
请参阅本指南。
-
-
-
-
-
- 速率限制
-
-
-
-
请参阅本指南。
-
-
-
-
-
- Token 管理
-
-
-
-
请参阅本指南。
-
-
-
-
-
- 执行器端点
-
-
-
-
CAS 提供以下端点:
GET | /cas/actuator/mfaSimple |
生成简单的多因素身份验证令牌。
-
-
-
-
-
- REST 协议凭证提取
-
-
-
-
如果 CAS REST 协议已打开,则会将特殊凭证提取器注入 REST 身份验证引擎,以识别简单的多因素凭证并将其作为 REST请求的一部分进行验证。请求正文中的预期参数名称为 sotp。
-
-
-
-
- 沟通策略
- 简单的多因素身份验证 - 通信策略
- 沟通策略
-
-
-
用户可能会通过短信和/或电子邮件收到 CAS 颁发的令牌通知。经过身份验证的 CAS 主体应携带足够的属性,可通过 CAS 设置进行配置,以便 CAS 能够正确地向最终用户发送文本消息和/或电子邮件。令牌也可以通过 Google Firebase 等平台返回的通知策略共享。
要了解有关可用选项的更多信息,请参阅本指南或本指南,或本指南。
CAS 配置目录中提供了以下设置和属性:
必填
自选
电子邮件服务器
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.simple.mail.attribute-name= 指示此邮件的目标电子邮件地址的主体属性名称。这些属性必须已解析并可供 CAS 主体使用。当指定了多个属性时,将根据可用的 CAS 主体检查每个属性,以查找电子邮件地址值,这可能会导致发送多封电子邮件。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.email.EmailProperties. 如何配置此属性? |
· cas.authn.mfa.simple.mail.from= 电子邮件发件人地址。 org.apereo.cas.configuration.model.support.email.EmailProperties. 如何配置此属性? |
· cas.authn.mfa.simple.mail.subject= 主题可以定义为 verbaitm,也可以使用语法 #{subject-language-key} 指向语言包中的消息键。此键应指向在相应语言包中定义的有效消息,然后通过活动区域设置选取该消息。如果语言代码无法解析实际主题,则将使用默认主题值。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.email.EmailProperties. 如何配置此属性? |
· cas.authn.mfa.simple.sms.attribute-name= 指示此 SMS 消息的目标电话号码的主体属性名称。该属性必须已解析并可供 CAS 主体使用。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.sms.SmsProperties. 如何配置此属性? |
· cas.authn.mfa.simple.sms.from= 邮件的发件人地址。 org.apereo.cas.configuration.model.support.sms.SmsProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
-
-
-
-
- 速率限制
- 简单的多因素身份验证 - 速率限制
- 速率限制
-
-
-
CAS 能够通过 Bucket4j 项目支持基于 token-bucketalgorithm 的 Token 请求的速率限制。这意味着在时间窗口内达到特定可配置容量的令牌请求可能会被阻止或限制以减慢速度。这样做是为了防止系统过载,从而允许您引入一个场景,允许每分钟 CAS 120 个令牌请求,重新填充速率为每秒 10 个请求,该速率将在容量存储桶中不断增加。请注意,存储桶分配策略特定于客户端 IP 地址。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.simple.bucket4j.bandwidth= 描述可用带宽和总体限制。多个带宽允许每个度量单位使用不同的策略。(即每 1 分钟允许 1000 个令牌,但通常不允许每 1 秒 50 个令牌)。 org.apereo.cas.configuration.model.support.mfa.simple.CasSimpleMultifactorAuthenticationBucket4jProperties. 如何配置此属性? |
· cas.authn.mfa.simple.bucket4j.bandwidth[0].capacity=120 可在时间窗口内使用的令牌/请求数。 org.apereo.cas.configuration.model.support.bucket4j.Bucket4jBandwidthLimitProperties. 如何配置此属性? |
· cas.authn.mfa.simple.bucket4j.bandwidth[0].duration=PT60S 允许容量的时间窗口。 此设置支持java.time.Duration 语法 [?]。 org.apereo.cas.configuration.model.support.bucket4j.Bucket4jBandwidthLimitProperties. 如何配置此属性? |
· cas.authn.mfa.simple.bucket4j.bandwidth[0].initial-tokens= 默认情况下,存储桶的初始大小等于容量。但有时,您可能希望具有较小的初始大小,例如在冷启动的情况下,以防止拒绝服务。 org.apereo.cas.configuration.model.support.bucket4j.Bucket4jBandwidthLimitProperties. 如何配置此属性? |
· cas.authn.mfa.simple.bucket4j.bandwidth[0].refill-count=10 在指定的重新填充持续时间下,应用于重新填充存储桶的令牌数。 org.apereo.cas.configuration.model.support.bucket4j.Bucket4jBandwidthLimitProperties. 如何配置此属性? |
显示 1 到 5 的 9 个条目
上一页12下一页
-
-
-
-
- Token管理
- Default
- 简单的多因素身份验证 - 令牌管理
- Default
- Token管理
-
-
-
令牌管理和发行可以由 CAS 直接处理,也可以外包给外部系统和服务。
默认情况下,使用 ticket registry跟踪 CAS 颁发的令牌,并为其分配一个可配置的过期策略,该策略通过 CAS 设置进行控制。在此选项中,CAS 本身负责使用预配置的策略和组件管理和验证令牌。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.simple.token.core.time-to-kill-in-seconds=30 应将 CAS 令牌视为在 CAS 服务器中的实时时间(以秒为单位)。 org.apereo.cas.configuration.model.support.mfa.simple.CoreCasSimpleMultifactorAuthenticationTokenProperties. 如何配置此属性? |
· cas.authn.mfa.simple.token.core.token-length=6 生成的 Token 的长度。 org.apereo.cas.configuration.model.support.mfa.simple.CoreCasSimpleMultifactorAuthenticationTokenProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
-
-
- REST
- 简单的多因素身份验证 - REST 令牌管理
- REST
-
-
-
-
令牌验证和管理也可以外包给外部 REST API。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.simple.token.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.simple.RestfulCasSimpleMultifactorAuthenticationTokenProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
API 服务主要响应两个操作:颁发令牌以便与最终用户共享令牌,以及在最终用户将令牌返回给 CAS 后验证令牌。
-
-
-
-
-
-
- 生成 Token
-
-
-
-
-
当需要生成令牌时,将通过 POST 调用此 API 端点来创建票证标识符。请求正文将包含通过多因素身份验证流放置的经过身份验证的主体,并且应为其生成令牌的请求应用程序将通过service参数传递给 API。
终端节点应响应位于 /new URL 路径后缀的令牌生成请求,并应生成 2xx状态代码,其中响应正文应包含令牌标识符。
-
-
-
-
-
-
- 存储 Token
-
-
-
-
-
生成的令牌(与最终用户共享)可以使用 POST 通过 REST API 端点进行存储。请求的正文将包含实际的令牌定义和应存储的详细信息。API 服务应在操作成功时生成 2xx 状态代码。
-
-
-
-
-
-
- 验证令牌
-
-
-
-
-
生成的令牌将传递到此 API 进行验证,其中令牌将附加到 URL 端点并充当路径变量。返回到 POST 调用的响应必须附有 2xx 状态代码,其中正文应包含 id 和 attributes 字段,后者是可选的,它们表示 CAS 的已验证主体:
1 2 3 4 5 6 7 8 9 10 | { "@class": "org.apereo.cas.authentication.principal.SimplePrincipal", "id": "casuser", "attributes": { "@class": "java.util.LinkedHashMap", "names": [ "java.util.List", ["cas", "user"] ] }} |
-
-
-
-
-
-
- 获取令牌
-
-
-
-
-
生成的令牌将传递到此 API 进行检索和查询,其中令牌将附加到 URL 端点并充当路径变量。返回给 GET 调用的响应必须附有 2xx 状态代码,其中正文应包含 id 和 attributes 字段,后者是可选的,它们表示 CAS 的已验证主体:
1 2 3 4 5 6 7 8 9 10 | { "@class": "org.apereo.cas.authentication.principal.SimplePrincipal", "id": "casuser", "attributes": { "@class": "java.util.LinkedHashMap", "names": [ "java.util.List", ["cas", "user"] ] }} |
-
-
-
-
-
- 自定义
-
-
-
-
简单的多因素身份验证 - 自定义令牌管理
您可以使用以下 bean 定义并通过实现CasSimpleMultifactorAuthenticationService来定义自己的多因素身份验证服务:
1 2 3 4 | @Beanpublic CasSimpleMultifactorAuthenticationService casSimpleMultifactorAuthenticationService() { return new MyCasSimpleMultifactorAuthenticationService();} |
请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。
-
-
-
- FIDO2 WebAuthn
- 概述
- FIDO2 WebAuthn 多因素身份验证
- 概述
- FIDO2 WebAuthn
-
-
WebAuthn 是一个 API,它使依赖方(如 Web 服务)能够非常轻松地使用所有主流浏览器和平台内置的支持将强身份验证集成到应用程序中。这意味着 Web 服务现在可以轻松地为用户提供强身份验证,并可以选择身份验证器(如安全密钥)或内置平台身份验证器(如生物识别读取器)。
通过在 WAR 覆盖中包含以下模块来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.core.application-id= 启动身份验证操作时要为 appid 扩展设置的扩展输入。如果设置了此成员,则启动断言操作将自动设置 appid 扩展输入,完成断言操作将调整其验证逻辑,以也接受此 AppID 作为 RP ID 的替代项。默认情况下,未设置此项。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAuthenticationCoreProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.core.relying-party-id= 启动注册操作时将设置为 rp 参数的 id,以及将比较的 id 哈希值。这是一个必需的参数。成功的注册或身份验证操作要求 rp id 哈希值与此 id 成员的 SHA-256 哈希值完全相等。或者,如果存在应用程序 ID 的 SHA-256 哈希值,则它可能等于应用程序 ID 的 SHA-256 哈希值。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAuthenticationCoreProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.core.relying-party-name= Relaying Party 的人类可口名称。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAuthenticationCoreProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
-
-
- Bypass
-
-
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
-
-
- 可发现凭证
-
-
-
-
可以允许 WebAuthN 充当主身份验证的独立身份验证策略。使用这种方法,已向 CAS 注册的用户帐户和支持 FIDO2 的设备可以选择使用其支持 FIDO2 的设备登录,以获得无密码身份验证体验。
可发现凭证意味着私钥和关联的元数据存储在身份验证器的持久内存中,而不是加密并存储在依赖方服务器上。
设备注册可以使用可用的 CAS API 进行带外进行,也可以通过允许用户通过注册流程作为典型多因素身份验证的一部分进行。有关设备注册的详细信息,请参阅下文。
-
-
-
-
- 鉴证信托
- FIDO2 WebAuthn 多因素身份验证 - 证明信任和元数据
- 鉴证信托
-
-
-
CAS 中的 WebAuthn 支持可以处理验证器证明,这为 Web 服务提供了一种方法来请求用户正在使用的验证器的加密证明。
可以使用以下策略将认证信任元数据教给 CAS。
JSON 格式
FIDO
WebAuthn 认证信任元数据可以从 JSON 文件加载,默认情况下,CAS 附带并启用了 Yubico 提供的元数据,适用于同样主要由 Yubico 提供的一系列设备。
此 JSON 文件的结构如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | { "identifier": "...", "version": 1, "vendorInfo": { "url": "...", "imageUrl": "...", "name": "..." }, "trustedCertificates": [ "..." ], "devices": [ { "deviceId": "...", "displayName": "...", "transports": 4, "deviceUrl": "...", "imageUrl": ".", "selectors": [ { "type": "x509Extension", "parameters": { "key": "...", "value": { "type": "hex", "value": "..." } } } ] } ]} |
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.core.trust-source.trusted-device-metadata.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- 二维码
- FIDO2 WebAuthn 多因素身份验证 - QR 码
- 二维码
-
-
-
CAS 可以配置为支持使用 QR 码的 FIDO2 WebAuthn 身份验证。启用后,此功能允许用户通过扫描 CAS 提供的 QR 码,使用支持 FIDO2 的设备进行身份验证。此身份验证流程主要在 primaryauthentication 设备(例如笔记本电脑)与用于 FIDO2authentication 的设备(例如移动电话)分开的情况下非常有用。该流程遵循以下步骤:
系统会提示用户在其主身份验证设备(即笔记本电脑)上使用支持 FIDO2 的设备。
用户在此处决定在主设备上进行 FIDO2 身份验证是不可能的或不切实际的。
CAS 同时在主设备上显示一个 QR 码,然后由用户的辅助支持 FIDO2 的设备(即手机)进行扫描。
扫描的 QR 码包含一个链接,提示用户使用 CAS 完成 FIDO 身份验证尝试。
此尝试直接在用户的辅助设备上处理,与主设备完全分开。
用户在辅助设备上建立会话后,主身份验证设备会收到通知,并将恢复流程。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.core.application-id= 启动身份验证操作时要为 appid 扩展设置的扩展输入。如果设置了此成员,则启动断言操作将自动设置 appid 扩展输入,完成断言操作将调整其验证逻辑,以也接受此 AppID 作为 RP ID 的替代项。默认情况下,未设置此项。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAuthenticationCoreProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.core.relying-party-id= 启动注册操作时将设置为 rp 参数的 id,以及将比较的 id 哈希值。这是一个必需的参数。成功的注册或身份验证操作要求 rp id 哈希值与此 id 成员的 SHA-256 哈希值完全相等。或者,如果存在应用程序 ID 的 SHA-256 哈希值,则它可能等于应用程序 ID 的 SHA-256 哈希值。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAuthenticationCoreProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.core.relying-party-name= Relaying Party 的人类可口名称。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAuthenticationCoreProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.core.trust-source.fido.legal-header= "Retrieval and use of this BLOB indicates acceptance of the appropriate agreement located at https://fidoalliance.org/metadata/metadata-legal-terms/" org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAttestationTrustSourceFidoProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.core.trust-source.fido.metadata-blob-url=https://mds.fidoalliance.org/ 从 FIDO 网站下载元数据 BLOB。这是当前的 FIDO 元数据服务 BLOB 下载 URL。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMultifactorAttestationTrustSourceFidoProperties. 如何配置此属性? |
显示 1 到 5 的 8 个条目
上一页12下一页
-
-
-
-
- 设备注册
- 概述
- 设备注册
-
-
-
FIDO2 WebAuthn 多因素身份验证 - 注册
设备注册流程会自动融入 CAS 中。还会自动安排后台清理进程,以定期扫描存储库并根据配置的参数删除过期的设备注册记录。在默认设置中,设备在用户注册其设备后的固定时间段后过期。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.web-authn.cleaner.schedule.cron-expression= 一个类似 cron 的表达式,扩展了通常的 UN*X 定义,以包括秒、分钟、小时、月日、月和星期几的触发器。例如,0 * * * * MON-FRI 表示工作日每分钟一次(在分钟的顶部 - 第 0 秒),或 0 0 0 * * * 表示每天午夜。* 请注意,定义 cron 表达式时,必须删除 start delay 和 repeat interval 设置并将其设置为空白。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.cleaner.schedule.cron-time-zone= 将解析 cron 表达式的时区。默认情况下,此属性为空(即将使用调度程序的时区)。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.cleaner.schedule.enabled-on-host=.* 如果此属性与 CAS 服务器的主机名不匹配,则覆盖 SchedulingProperties#enabled 属性值 true。如果在 statefulset 中部署带有镜像的 CAS,其中所有名称都是可预测的,但很难为不同的服务器使用不同的配置,那么这可能很有用。该值可以是确切的主机名,也可以是将用于匹配主机名的正则表达式。 此设置支持正则表达式模式。[?]. org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.cleaner.schedule.enabled=true 是否应启用计划程序来计划作业运行。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.cleaner.schedule.repeat-interval=PT2M 为数据存储实施重新加载数据的重复间隔的字符串表示形式。这是连续任务执行之间的超时。 此设置支持java.time.Duration 语法 [?]。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
清洁剂的使用
在群集 CAS 部署中,最好仅在一个指定的 CAS 节点上运行清理程序,并通过 CAS 设置在所有其他节点上将其关闭。保持清理程序在所有节点上运行可能会导致严重的性能和锁定问题。
默认情况下,包含一个存储库实现,用于收集用户设备注册并将其保存到内存中。此选项应仅用于演示和测试目的。
执行器端点
CAS 提供以下端点:
DELETE | /cas/actuator/webAuthnDevices/{username}/{credentialId} |
删除用户名和凭据 ID 的设备注册。
DELETE | /cas/actuator/webAuthnDevices/{username} |
GET | /cas/actuator/webAuthnDevices/{username} |
GET | /cas/actuator/webAuthnDevices/export |
POST | /cas/actuator/webAuthnDevices/import |
POST | /cas/actuator/webAuthnDevices/{username} |
设备存储库
还可以使用以下任一策略管理设备注册。
存储 | 描述 |
JSON 格式 | 请参阅本指南。 |
MongoDb 数据库 | 请参阅本指南。 |
LDAP 协议 | 请参阅本指南。 |
JPA | 请参阅本指南。 |
Redis | 请参阅本指南。 |
DynamoDb | 请参阅本指南。 |
REST | 请参阅本指南。 |
-
-
-
-
-
- JSON 格式
-
-
-
-
JSON FIDO2 WebAuthn 多因素注册
一种设备存储库实现,用于收集用户设备注册并将其保存到 JSON 文件中,该文件的路径通过设置教给 CAS。这是一个非常适度的选项,应主要用于演示和测试目的。不用说,这个 JSON 资源充当一个数据库,必须可供集群中的所有 CAS 服务器节点使用。
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.json.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnJsonMultifactorProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
-
- DynamoDb
-
-
-
-
DynamoDb FIDO2 WebAuthn 多重注册
通过在 WAR 覆盖中包含以下模块,可以将设备注册保留在 DynamoDb 实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn-dynamodb"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.dynamo-db.credential-access-key= 使用 AWS 提供的访问密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnDynamoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.dynamo-db.credential-secret-key= 使用 AWS 提供的密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnDynamoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.dynamo-db.dax.url= Cluster url 的 URL 中。例如,dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbDaxProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.dynamo-db.endpoint= AWS 自定义终端节点。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnDynamoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.dynamo-db.region= 使用的 AWS 区域。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnDynamoDbMultifactorProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
-
-
- JPA
-
-
-
-
JPA FIDO2 WebAuthn 多因子注册
通过在 WAR 覆盖中包含以下模块,可以将设备注册保存在关系数据库实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn-jpa"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
Hibernate 和 JDBC
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.jpa.driver-class=org.hsqldb.jdbcDriver 用于连接到数据库的 JDBC 驱动程序。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnJpaMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.jpa.password= The database connection password. org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnJpaMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.jpa.url=jdbc:hsqldb:mem:cas-hsql-database The database connection URL. This setting supports the Spring Expression Language. org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnJpaMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.jpa.user=sa The database user must have sufficient permissions to be able to handle schema changes and updates, when needed. org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnJpaMultifactorProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
-
-
- LDAP 协议
-
-
-
-
LDAP FIDO2 WebAuthn 多因素注册
通过在 WAR 覆盖中包含以下模块,可以将设备注册保存在 LDAP 目录中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn-ldap"} |
设备注册记录作为 JSON blob 保存在指定的可配置多值属性中。解析属性值以加载、保存、更新或删除帐户。如有必要,可以对每个 attributevalue 的内容进行签名/加密。
CAS 配置目录中提供了以下设置和属性:
必填
自选
LDAP & Active Directory
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.ldap.account-attribute-name=casWebAuthnRecord 将 WebAuthn 帐户/凭据保存为 JSON 的 LDAP 属性的名称。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnLdapMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.ldap.base-dn= 要使用的基本 DN。在某些情况下,单个 LDAP 树的不同部分可能被视为 base-dns。可以使用特殊的分隔符指定每个条目并将其连接在一起,而不是为每个单独的 base-dn 复制 LDAP 配置块。用户 DN 按定义的顺序使用所有 base-dn 和 DN 解析程序的组合进行检索。如果找到多个 DN,则 DN 解析应失败。否则,将返回找到的第一个 DN。通常的语法是:subtreeA,dc=example,dc=net|subtreeC,dc=example,dc=net。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnLdapMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.ldap.bind-credential= 连接到 LDAP 时要使用的绑定凭证。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnLdapMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.ldap.bind-dn= 连接到 LDAP 时要使用的绑定 DN。注入 LDAP 连接池的 LDAP 连接配置可以使用以下参数进行初始化: bindDn/bindCredential provided - 在初始化连接时使用提供的凭证进行绑定。 bindDn/bindCredential 设置为 * - 使用快速绑定策略初始化池。 bindDn/bindCredential 设置为空白 - 跳过连接初始化;匿名执行操作。 提供的 SASL 机制 - 初始化连接时使用给定的 SASL 机制进行绑定。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnLdapMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.ldap.ldap-url= 服务器的 LDAP URL。可以指定多个,用空格和/或逗号分隔。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnLdapMultifactorProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
-
-
-
-
-
- MongoDb 数据库
-
-
-
-
MongoDb FIDO2 WebAuthn 多因素注册
通过在 WAR 覆盖中包含以下模块,可以将设备注册保留在 MongoDb 实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn-mongo"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.mongo.client-uri= mongodb 实例的连接 URI。这通常采用 mongodb://user:psw@ds135522.somewhere.com:35522/db 的形式。如果未指定,将回退到其他单个设置。如果指定,则接管所有其他设置(如果适用)。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.mongo.collection= 要获取和/或创建的 MongoDb 数据库集合名称。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.mongo.database-name= MongoDb 数据库实例名称。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.mongo.host=localhost 用于身份验证的 MongoDb 数据库主机。可以定义多个主机地址,用逗号分隔。如果定义了多个主机,则假定每个主机也包含端口(如果有)。否则,配置可能会回退到定义的端口。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMongoDbMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.mongo.password= 用于身份验证的 MongoDb 数据库密码。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnMongoDbMultifactorProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
-
-
-
-
-
- Redis
-
-
-
-
Redis FIDO2 WebAuthn 多重注册
通过在 WAR 覆盖中包含以下模块,可以将设备注册保存在 Redis 数据库实例中:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn-redis"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.redis.cluster.nodes[0].host= 服务器的主机地址。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.redis.cluster.nodes[0].port= 服务器的端口号。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.redis.cluster.nodes[0].replica-of= 设置 master 节点的 id。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.redis.cluster.nodes[0].type= 指示此节点的类型/角色。接受的值为 MASTER, REPLICA 。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.web-authn.redis.cluster.password= 集群连接的密码。 org.apereo.cas.configuration.model.support.redis.RedisClusterProperties. 如何配置此属性? |
显示 1 到 5 个条目,共 14 个条目
上一页123下一页
-
-
-
-
-
- REST
-
-
-
-
REST FIDO2 WebAuthn 多因子注册
设备注册可以使用外部 REST API 进行管理,方法是在 WAR 覆盖中包含以下模块:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-webauthn-rest"} |
传递以下参数:
操作 | 参数 | 描述 | 结果 |
GET | 不适用 | 检索所有记录。 | 200 状态代码;正文中 JSON 记录的集合。 |
GET | username | 检索用户的所有记录。 | 200 状态码 body 中 JSON 记录的集合。 |
POST | 以 JSON 正文形式收集记录 | 存储/更新已注册的设备。 |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.web-authn.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.webauthn.WebAuthnRestfulMultifactorProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
- Inwebo
- Inwebo/TrustBuilder 多因素身份验证
- Inwebo
-
-
您可以使用 Inwebo 提供的第二个因素保护您的 CAS 服务器。
TrustBuilder 与 inWebo
2023 年,在 inWebo 战略收购 TrustBuilder 一年后,两家公司现已正式合二为一,并更名为 TrustBuilder
可以在 Inwebo 文档网站上找到此集成的完整文档。
除了此 CAS 集成之外,请注意,此身份提供商还可以提供更通用的身份验证解决方案。
通过在覆盖中包含以下模块来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-inwebo-mfa"} |
该集成增加了对推送移动/桌面和浏览器身份验证(Virtual Authenticator 或 mAccess WEB)的支持。
-
-
-
-
- 配置
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.inwebo.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.inwebo.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.inwebo.client-certificate.certificate.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.mfa.inwebo.client-certificate.passphrase= 客户端证书的密码。 org.apereo.cas.configuration.model.core.util.ClientCertificateProperties. 如何配置此属性? |
· cas.authn.mfa.inwebo.service-id= Inwebo 服务 ID。 org.apereo.cas.configuration.model.support.mfa.InweboMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
-
-
-
-
- Bypass
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.inwebo.bypass.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.GroovyMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
· cas.authn.mfa.inwebo.bypass.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProviderBypassProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
- 自定义
-
-
自定义 Multifactor Authentication
要创建自己的自定义多因素身份验证提供程序,您需要设计组件,这些组件主要在唯一标识符下将自定义身份验证流注册到 CAS webflow 引擎中。稍后,您还需要考虑触发自定义 MultiFactor 身份验证提供程序的策略。
记得
设计自定义多因素身份验证提供程序可能是一项具有挑战性的任务,特别是如果您不熟悉 CAS 编程模型、API 以及实现此目的的底层框架和技术,例如 Spring Webflow。
提供程序 ID
每个多因素提供商都分配有一个唯一标识符,该标识符通常被映射或等于底层 webflow。唯一标识符可以是您选择的任意字符串,前提是它保持独特和合理,因为它可以根据用例在其他系统中使用,并被其他应用程序用作触发器。
在本指南中,我们选择 mfa-custom 作为提供商 ID。
注册 Webflow 配置
自定义提供程序本身是其自己的独立 webflow,然后注册到主身份验证流中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class CustomAuthenticatorWebflowConfigurer extends AbstractCasMultifactorWebflowConfigurer { public static final String MFA_EVENT_ID = "mfa-custom";
/* Define the appropriate constructor based on the parent class public CustomAuthenticatorWebflowConfigurer(...) { } */ @Override protected void doInitialize() throws Exception { registerMultifactorProviderAuthenticationWebflow(getLoginFlow(), MFA_EVENT_ID, yourCustomMfaFlowDefinitionRegistry); }} |
CustomAuthenticatorWebflowConfigurer 必须能够使用 CAS 提供的 API 动态构建 webflow 定义。请参阅 CAS 代码库以查看和学习其他实现
设计提供商
CAS 中的多因素身份验证提供程序以 MultifactorAuthenticationProvider 实例的形式表示。下面简要显示了提供程序的轮廓,并且删除了它的大部分行为以支持默认值。
1 2 3 | public class CustomMultifactorAuthenticationProvider extends AbstractMultifactorAuthenticationProvider { private static final long serialVersionUID = 4789727148634156909L;} |
注册提供商
自定义 webflow 配置需要向 CAS 注册。配置注册的概述示例和摘要如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package org.example.cas; @AutoConfigurationpublic class CustomAuthenticatorSubsystemConfiguration { ... @Bean public FlowDefinitionRegistry customFlowRegistry() { var builder = new FlowDefinitionRegistryBuilder(applicationContext, flowBuilderServices); builder.addFlowBuilder(new FlowModelFlowBuilder( new DefaultFlowModelHolder(new DynamicFlowModelBuilder())), "mfa-custom"); return builder.build(); } @Bean public MultifactorAuthenticationProvider customAuthenticationProvider() { var p = new CustomMultifactorAuthenticationProvider(); p.setId("mfa-custom"); return p; } @Bean public CasWebflowConfigurer customWebflowConfigurer() { return new CustomAuthenticatorWebflowConfigurer(...); } @Bean public CasWebflowExecutionPlanConfigurer customWebflowExecutionPlanConfigurer() { return plan -> plan.registerWebflowConfigurer(customWebflowConfigurer()); } ...} |
不要忘记向 CAS 注册配置类。有关更多详细信息,请参阅本指南。
触发器
可以使用任何支持的选项触发自定义身份验证 webflow。
多因素身份验证触发器
触发器可用于激活和指示 CAS 导航到多因素身份验证流程。如果未找到用于其激活和执行的适用配置,则每个触发器都应正确尝试忽略身份验证请求。另请注意,各种 CAS 模块提供自己的内部触发器并将其注入 CAS 应用程序运行时,以便将特定于协议的身份验证请求(例如 SAML2 或 OpenID Connect 提供的请求)转换为多因素身份验证流。
服务要求
大多数多因素身份验证触发器都要求提交给 CAS 的原始身份验证请求包含 service 参数。如果不这样做,将导致初始身份验证尝试成功,其中带有相关参数的后续请求将提升身份验证上下文并在以后触发多因素身份验证。如果您需要测试特定触发器,请记住适当地提供 service 参数以查看触发器的运行情况。
通常,触发机制应完全忽略多因素身份验证;它所关心的只是以非常通用的方式找到链中的下一个事件。这意味着从技术上讲,可以组合多个触发器,每个触发器都可能在身份验证流中产生不同的事件。在这种情况下,在选择了最终候选事件后,能够支持和响应生成的事件的相应组件和模块将接管并适当地路由身份验证流。
以下触发器可用:
触发 | 描述 |
全球 | 请参阅此页面。 |
每个应用程序 | 请参阅此页面。 |
Groovy Per Application | 请参阅此页面。 |
全局主体属性 | 请参阅此页面。 |
全局主体属性谓词 | 请参阅此页面。 |
全局身份验证属性 | 请参阅此页面。 |
适应的 | 请参阅此页面。 |
Grouper | 请参阅此页面。 |
Groovy | 请参阅此页面。 |
REST | 请参阅此页面。 |
选择加入请求参数/标头 | 请参阅此页面。 |
每个应用程序的 Principal 属性 | 请参阅此页面。 |
实体 ID 请求参数 | 请参阅此页面。 |
自定义 | 请参阅此页面。 |
全局多因素身份验证触发器
无论单个设置如何,都可以为所有应用程序和用户触发 MFA。换句话说,如果您希望为所有请求、应用程序和用户激活多因素提供商,则只能启用此触发器。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.triggers.global.global-provider-id= 无论单个设置如何,都可以为所有应用程序和用户触发 MFA。此设置保留 MFA 提供程序的值,无论如何,都应为所有请求激活该提供程序。此处可以通过逗号分隔的语法指定多个提供商标识符,这可能会强制 CAS 进入提供商选择和解析流程。 org.apereo.cas.configuration.model.support.mfa.GlobalMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
按应用程序 - 多因素身份验证触发器
可以为在 CAS 服务注册表中注册的特定应用程序触发 MFA。
1 2 3 4 5 6 7 8 9 10 11 12 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^(https|imaps)://.*", "id" : 100, "name": "test", "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [ "mfa-duo" ] ], "bypassEnabled": false, "forceExecution": true }} |
策略定义接受以下字段
田 | 描述 |
multifactorAuthenticationProviders | 应为此应用程序触发的多因子提供程序 ID 集。 |
script | 用于动态触发多因素身份验证的脚本(无论是外部还是内部)的路径。 |
bypassEnabled | 是否应为此服务绕过多因素身份验证。 |
forceExecution | 是否应强制触发多因素身份验证,即使无需 MFA 即可满足现有身份验证上下文。 |
Groovy Per Application - 多因素身份验证触发器
您可以使用 Groovy 脚本确定已注册服务的多因素身份验证策略。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
传递的参数如下:
参数 | 描述 |
registeredService | 表示注册表中相应服务定义的对象。 |
authentication | 表示 Authentication 对象的对象。 |
httpRequest | 表示 HTTP servlet 请求的对象。 |
service | 表示与此 http 请求关联的服务请求的对象。 |
applicationContext | 表示 Spring 应用程序上下文的对象。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
如果此触发器应跳过多因素身份验证,则脚本的预期结果为 null,或者应考虑激活的多重提供程序的标识符。
文件
内嵌
可以使用其完整路径在服务定义中定义脚本:
1 2 3 4 5 6 7 8 9 10 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^(https|imaps)://.*", "id" : 100, "name": "test", "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "script" : "file:///etc/cas/config/mfa-policy.groovy" }} |
脚本本身可以按如下方式设计:
1 2 3 4 5 6 | def run(final Object... args) { def (authentication,registeredService,httpRequest,service,applicationContext,logger) = args logger.debug("Determine mfa provider for ${registeredService.name} and ${authentication.principal.id}") def memberOf = authentication.principal.attributes['memberOf'] as List return memberOf.contains('CN=NEED-MFA') ? 'mfa-duo' : null} |
script 属性支持 Spring 表达式语言语法。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
Groovy 主体属性 - 多因素身份验证触发器
对于携带与以下条件之一匹配的特定属性的所有用户/主题,都可以触发 MFA。
根据其值与正则表达式模式匹配的 principal 属性触发 MFA。请注意,仅当仅配置了单个 MFA 提供程序时,此行为才适用,因为这将允许 CAS知道下次要激活的提供程序。
根据其值与 MFA 提供程序完全匹配的 principal 属性触发 MFA。如果您配置了多个提供程序,或者您可以灵活地将提供程序 ID 作为值分配给属性,则此选项更相关。
不用说,在此步骤之前,需要为主体解析属性。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.triggers.principal.global-principal-attribute-predicate.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
Groovy 主体属性谓词 - 多因素身份验证触发器
这是上述触发器的更通用的变体。在应用程序运行时中配置了多个提供程序且可用,并且您需要设计一个策略来动态决定应为请求激活的提供程序时,它可能很有用。
该决定被移交给 Groovy 脚本中定义的 Predicate 实现,该脚本的位置被教给 CAS。脚本中 test 函数的职责是确定要触发的提供程序的资格。如果谓词通过返回true 来确定多个提供程序符合条件,则将选择按提供程序顺序排名的排序结果集中的第一个提供程序进行响应。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
Groovy 脚本谓词可以设计成这样:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import org.apereo.cas.authentication.*import java.util.function.*import org.apereo.cas.services.* class PredicateExample implements Predicate<MultifactorAuthenticationProvider> { def service def principal def providers def logger public PredicateExample(service, principal, providers, logger) { this.service = service this.principal = principal this.providers = providers this.logger = logger } @Override boolean test(final MultifactorAuthenticationProvider p) { ... }} |
传递的参数如下:
参数 | 描述 |
service | 表示注册表中相应服务定义的对象。 |
principal | 表示已验证的主体的对象。 |
providers | 应从中进行选择的 MultifactorAuthenticationProvider的集合。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.triggers.principal.global-principal-attribute-predicate.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
例如,以下谓词示例将开始测试每个多因素身份验证提供程序,如果给定的提供程序是 mfa-duo,则只要可以访问该提供程序,它就会将其接受为有效触发器。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import org.apereo.cas.authentication.*import java.util.function.*import org.apereo.cas.services.* class PredicateExample implements Predicate<MultifactorAuthenticationProvider> { def service def principal def providers def logger public PredicateExample(service, principal, providers, logger) { this.service = service this.principal = principal this.providers = providers this.logger = logger } @Override boolean test(final MultifactorAuthenticationProvider p) { logger.info("Testing provider {}", p.getId()) if (p.matches("mfa-duo")) { logger.info("Provider {} is available. Checking eligibility...", p.getId()) if (p.isAvailable(this.service)) { logger.info("Provider {} matched. Good to go!", p.getId()) return true; } logger.info("Skipping provider {}. Match failed.", p.getId()) return false; } logger.info("Provider {} cannot be reached", p.getId()) return false }} |
Groovy 身份验证属性 - 多因素身份验证触发器
对于其身份验证事件/元数据已解析与以下条件之一匹配的特定属性的所有用户/主题,都可以触发 MFA:
根据其值与正则表达式模式匹配的身份验证属性触发 MFA。请注意,仅当仅配置了单个 MFA 提供程序时,此行为才适用,因为这将允许 CAS知道下次要激活的提供程序。
根据其值与 MFA 提供程序完全匹配的身份验证属性触发 MFA。如果您配置了多个提供程序,或者您可以灵活地将提供程序 ID 作为值分配给属性,则此选项更相关。
不用说,在此步骤之前,需要解析身份验证事件的属性。当底层身份验证引擎向 CAS 发出信号以执行额外的凭证验证时,此触发器通常很有用。此信号可能被 CAS 捕获为作为身份验证事件元数据一部分的属性,然后可以触发其他多因素身份验证事件。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
此方案的一个示例是 RADIUS 服务器生成的“Access Challenge 响应”。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.triggers.authentication.global-authentication-attribute-name-triggers= 不用说,在此步骤之前,需要解析身份验证事件的属性。当底层身份验证引擎向 CAS 发出信号以执行其他凭据验证时,此触发器通常很有用。CAS 可能会将此信号捕获为作为身份验证事件元数据一部分的属性,然后可以触发其他多因素身份验证事件。 此设置支持正则表达式模式。[?]. org.apereo.cas.configuration.model.support.mfa.AuthenticationAttributeMultifactorAuthenticationProperties. 如何配置此属性? |
· cas.authn.mfa.triggers.authentication.global-authentication-attribute-value-regex= 与 authentication 属叉匹配的正则表达式,用于确定账户是否符合多因素身份验证的条件。 此设置支持正则表达式模式。[?]. org.apereo.cas.configuration.model.support.mfa.AuthenticationAttributeMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
自适应 - 多因素身份验证触发器
可以根据可能被视为非法的请求的特定性质触发 MFA。例如,您可能希望强制从特定 IP 模式或特定地理位置提交的所有请求都经过 MFA。CAS 能够适应传入请求的各种属性,并将流路由到执行 MFA。有关更多信息,请参阅本指南。
Grouper - 多因素身份验证触发器
MFA 可由已验证委托人分配到的 Grouper 组触发。组由 CAS 收集,然后根据所有可用/配置的 MFA 提供程序进行交叉检查。必须在 CAS 中定义组的比较因子才能激活此行为,并且可以基于组的名称、显示名称等,其中与提供程序 ID 的成功匹配应激活所选的 MFA 提供程序。
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-grouper"} |
您还需要确保 grouper.client.properties 在 Classpath 上可用,并具有以下配置的属性:
1 2 3 | grouperClient.webService.url = http://192.168.99.100:32768/grouper-ws/servicesRestgrouperClient.webService.login = bandersongrouperClient.webService.password = password |
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.triggers.grouper.grouper-group-field= MFA 可由已验证委托人分配到的 Grouper 组触发。组由 CAS 收集,然后根据所有可用/配置的 MFA 提供程序进行交叉检查。必须在 CAS 中定义组的比较因子才能激活此行为,并且可以基于组的名称、显示名称等,其中与提供程序 ID 的成功匹配应激活所选的 MFA 提供程序。 org.apereo.cas.configuration.model.support.mfa.GrouperMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
您还可以考虑通过修改 /src/main/resources/grouper.client.properties 来外部化 Grouper 客户端配置文件,以包含以下内容:
1 | grouperClient.config.hierarchy = classpath:/grouper.client.base.properties,file:/etc/cas/config/grouper.client.properties |
…其中 /etc/cas/config/grouper.client.properties 将包含实际的 Grouper 相关设置。
故障排除
要启用其他日志记录,请配置 log4j 配置文件以添加以下级别:
1 2 3 4 5 6 | ...<Logger name="edu.internet2.middleware" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/></Logger> ... |
Groovy - 多因素身份验证触发器
MFA 可以根据您自己设计的 groovy 脚本的结果触发。脚本的结果应确定 CAS 应尝试激活的 MFA 提供程序 ID。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
Groovy 脚本的大纲如下所示:
1 2 3 4 5 6 7 8 9 | import java.util.* class SampleGroovyEventResolver { def run(final Object... args) { def (service,registeredService,authentication,httpRequest,logger) = args ... return "mfa-duo" }} |
传递的参数如下:
参数 | 描述 |
service | 表示请求中提供的传入服务的对象(如果有)。 |
registeredService | 表示注册表中相应服务定义的对象。 |
authentication | 表示已建立的身份验证事件的对象,包含主体。 |
httpRequest | 表示 HttpServletRequest 的对象。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
例如,如果https://www.example.com 且经过身份验证的主体包含值包含 email@example.org 的 mail 属性,则以下脚本通过 Duo Security 触发多因素身份验证。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.util.* class MyExampleScript { String run(final Object... args) { def (service,registeredService,authentication,httpRequest,logger) = args if (service.id == "https://www.example.com") { logger.info("Evaluating principal attributes [{}]", authentication.principal.attributes) def mail = authentication.principal.attributes['mail'] if (mail.contains("email@example.org")) { logger.info("Found mail attribute with value [{}]", mail) return "mfa-duo" } } return null }} |
CAS 配置目录中提供了以下设置和属性:
必填
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
· cas.authn.mfa.groovy-script.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
搜索:
显示 1 到 1 的 1 个条目
上一页1下一页
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
REST - 多因素身份验证触发器
MFA 可以根据设计的远程 REST 终端节点的结果触发。如果配置了端点,CAS 应发出 POST,在请求正文中提供经过身份验证的用户名作为 principalId,将 serviceId 作为服务 url。
端点必须设计为接受/处理 application/json。如果状态代码成功 200,则响应正文应为 CAS 应激活的 MFA 提供程序 ID。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.triggers.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.RestfulMultifactorAuthenticationProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
选择加入请求参数/标头 - 多因素身份验证触发器
可以为特定身份验证请求触发 MFA,前提是对 CAS /login 终端节点的初始请求包含指示所需 MFA 身份验证流程的参数/标头。参数/标头名称是可配置的,但其值必须与上述可用 MFA 提供程序的身份验证提供程序 ID 匹配。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.triggers.http.request-header=authn_method 如果对 CAS /login 终端节点的初始请求包含指示所需 MFA 身份验证流程的请求标头,则可以为特定身份验证请求触发 MFA。标头名称是可配置的,但其值必须与可用 MFA 提供商的身份验证提供商 ID 匹配。 org.apereo.cas.configuration.model.support.mfa.MultifactorAuthenticationHttpTriggerProperties. 如何配置此属性? |
· cas.authn.mfa.triggers.http.request-parameter=authn_method 如果对 CAS /login 终端节点的初始请求包含指示所需 MFA 身份验证流程的参数,则可以为特定身份验证请求触发 MFA。参数名称是可配置的,但其值必须与可用 MFA 提供商的身份验证提供商 ID 匹配。 org.apereo.cas.configuration.model.support.mfa.MultifactorAuthenticationHttpTriggerProperties. 如何配置此属性? |
· cas.authn.mfa.triggers.http.session-attribute=authn_method 可以为特定的身份验证请求触发 MFA,前提是该请求包含指示所需 MFA 身份验证流程的 session/request 属性。属性名称是可配置的,但其值必须与可用 MFA 提供商的身份验证提供商 ID 匹配。 org.apereo.cas.configuration.model.support.mfa.MultifactorAuthenticationHttpTriggerProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
根据请求参数触发身份验证流的示例请求为:
1 | https://.../cas/login?service=...&<PARAMETER_NAME>=<MFA_PROVIDER_ID> |
相同的策略也适用于基于 request/session 属性的触发器,这些属性往往用于 API 和 CAS 组件之间的内部通信,尤其是在设计扩展时。
每个应用程序的主体属性 - 多因素身份验证触发器
作为混合选项,可以为在 CAS 服务注册表中注册的特定应用程序触发 MFA,前提是经过身份验证的主体携带与配置的属性值匹配的属性。attributevalue 可以是任意正则表达式模式。请参阅下文,了解如何配置 MFA 设置。
1 2 3 4 5 6 7 8 9 10 11 12 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^(https|imaps)://.*", "id" : 100, "name": "test", "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [ "mfa-duo" ] ], "principalAttributeNameTrigger" : "memberOf", "principalAttributeValueToMatch" : "faculty|allMfaMembers" }} |
实体 ID 请求参数 - 多因素身份验证触发器
在将身份验证委托给 CAS 的情况下(最常见的是通过 Shibboleth 身份提供程序),实体 ID 可以作为请求参数传递给 CAS,以被视为 CAS 注册服务。这允许根据注册的实体 ID 激活多因素身份验证策略这允许根据在 CAS 服务注册表中注册的实体 ID 激活多因素身份验证策略。作为附带好处,实体 ID 可以利用所有其他 CAS 功能,例如访问策略和授权规则,因为它只是 CAS 已知的另一个服务定义。
要了解有关集成选项的更多信息,并了解如何从 Shibboleth 身份提供商将身份验证委托给 CAS,请参阅本指南。
通过在 WAR 覆盖中包含以下依赖项来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-shibboleth"} |
entityId 参数可以按如下方式传递:
1 | https://.../cas/login?service=http://idp.example.org&entityId=the-entity-id-passed |
多因素身份验证自定义触发器
要创建自己的自定义 Multifactor Authentication 触发器,您需要设计一个能够解析 CAS 身份验证链中事件的组件。触发器(即事件解析程序)的工作是检查一组条件和要求,并向 CAS 提供一个事件 ID,以指示身份验证流程中的下一步。
例如,典型的自定义触发器可能是:
如果客户端浏览器的 IP 地址与模式 123.+ 匹配,则激活由 mfa-duo 标识的 MFA 提供程序。
请注意:
你本身真的没有做任何定制的事情。所有内置 CAS 触发器在尝试解析下一个事件时的行为方式完全相同。
正如您将在下面观察到的,事件解决机制完全忽略了多因素身份验证;它所关心的只是以非常通用的方式找到链中的下一个事件。当然,我们的自定义实现希望让下一个事件通过提供程序处理某种形式的 MFA,但理论上我们可以将下一个事件解析为 hello-world。
要求
您需要对 Overlay 中的以下模块具有编译时访问权限:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-core-webflow"} |
这些是默认随 CAS 一起提供的模块,您应该在构建配置中使用 compile 或 provided scope 标记它们。
设计触发器
下面的示例演示了自定义事件解析程序的合理概述:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package org.apereo.cas.custom.mfa; public class ExampleMultifactorAuthenticationTrigger implements MultifactorAuthenticationTrigger { @Autowired private CasConfigurationProperties casProperties; @Override public Optional<MultifactorAuthenticationProvider> isActivated(final Authentication authentication, final RegisteredService registeredService, final HttpServletRequest httpServletRequest, final Service service) { return Optional.empty(); }} |
注册触发器
然后需要注册事件解析程序触发器。有关更多详细信息,请参阅本指南。
下面的示例演示了自定义事件解析程序的合理概述:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package org.apereo.cas.custom.config; @AutoConfiguration@EnableConfigurationProperties(CasConfigurationProperties.class)public class SomethingConfiguration { @Bean public MultifactorAuthenticationTrigger exampleMultifactorAuthenticationTrigger() { return new ExampleMultifactorAuthenticationTrigger(); }
@Bean public CasWebflowEventResolver exampleMultifactorAuthenticationWebflowEventResolver( @Qualifier(CasDelegatingWebflowEventResolver.BEAN_NAME_INITIAL_AUTHENTICATION_EVENT_RESOLVER) final CasDelegatingWebflowEventResolver initialEventResolver) { val resolver = new DefaultMultifactorAuthenticationProviderEventResolver( authenticationSystemSupport.getObject(), centralAuthenticationService.getObject(), servicesManager.getObject(), ticketRegistrySupport.getObject(), warnCookieGenerator.getObject(), authenticationRequestServiceSelectionStrategies.getObject(), multifactorAuthenticationProviderSelector.getObject(), exampleMultifactorAuthenticationTrigger()); initialEventResolver.addDelegate(resolver); return resolver; }} |
不要忘记向 CAS 注册配置类。有关更多详细信息,请参阅本指南。
每个多因素提供商都配备了允许Bypass的选项。选择提供商来接受身份验证请求后,将查阅绕过规则以计算提供商是否应忽略请求并有条件地跳过 MFA。
所有提供商都会在咨询任何其他已配置的Bypass提供商之前,先查阅此策略以获取Bypass事件。
绕过规则允许每个提供商使用以下选项:
根据指定的主体属性名称跳过多因素身份验证。
…[和可选]根据指定的主体属性值跳过 MultiFactor 身份验证。
跳过基于指定身份验证属性名称的多因素身份验证。
…[和可选]根据指定的身份验证属性值跳过 Multifactor 身份验证。
根据主要身份验证执行的方法/形式跳过多因素身份验证。
根据 http 请求的属性(如远程 addr/host 和/或标头名称)跳过多因素身份验证。
以下是一些示例:
触发 MFA,除非委托人携带值为 alum 或 member 的 affiliation 属性。
触发 MFA,除非主体带有 superAdmin 属性。
触发 MFA,除非主身份验证的方法是 SPNEGO。
触发 MFA,除非用于主身份验证的凭证是 org.example.MyCredential 类型。
请注意,除了上述选项之外,如果经过身份验证的主体不完全“有资格”进行多因素身份验证,则某些 Multifactor 身份验证提供程序还可能跳过并绕过身份验证请求。请参阅每个特定提供商的文档以了解更多信息。
-
-
-
- 配置
-
-
为每个提供商 ID 定义多因素身份验证绕过配置。要了解有关可用设置的更多信息,请检查您选择的 Multifactor Authentication Provider 的配置。
请注意,如果给定提供商绕过了多因素身份验证,则票证验证请求应成功通过。在这种情况下,不会将任何身份验证上下文传递回应用程序,并且会替换其他属性,以让应用程序知道提供程序绕过了多因素身份验证。
-
-
-
- 按服务绕过
-
-
可以通过 CAS 服务注册表按应用程序覆盖 MFA 绕过规则。当 MFA 可以为所有应用程序和服务全局开启,但需要选择性地排除一些时,这非常有用。其访问应绕过 MFA 的服务可以在 CAS 服务注册表中定义如下:
1 2 3 4 5 6 7 8 9 10 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^(https|imaps)://.*", "id" : 100, "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [ "mfa-duo" ] ], "bypassEnabled" : "true" }} |
-
-
-
- 按主体属性和服务Bypass
-
-
这与上述选项类似,不同之处在于,如果经过身份验证的主体包含具有指定值的属性,则仅对已注册的应用程序激活Bypass。
1 2 3 4 5 6 7 8 9 10 11 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^(https|imaps)://.*", "id" : 100, "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "bypassPrincipalAttributeName": "attributeForBypass", "bypassPrincipalAttributeValue": "^bypass-value-[A-Z].+" "bypassIfMissingPrincipalAttribute": false }} |
匹配和比较操作不区分大小写。
记得
在此处设置 bypassEnabled 标志是不必要的,并且可能会导致副作用。定义主体属性名称和匹配值后,bypassEnabled 都应为 true。
除了可配置的默认绕过规则之外,还可以在计算默认绕过规则后定义和执行以下绕过提供程序。
请记住,以下绕过策略是针对 MultiFactor Authentication Provider 定义的。您需要指示 CAS 根据下面列出的选项为相关多因素身份验证激活绕过策略。每个提供程序都应该有自己的专用设置和属性,允许您控制自己的绕过规则。
Groovy
REST
可以使用您自己设计的 Groovy 脚本来确定多因素身份验证绕过。如果为 true,则脚本的结果表示应继续对请求的提供程序进行 multifactorauthentication。否则,false 表示应跳过并绕过此提供程序的多因素身份验证。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
脚本的大纲可能如下所示:
1 2 3 4 5 6 7 8 9 | import java.util.* boolean run(final Object... args) { def (authentication,principal,registeredService,provider,logger,httpRequest) = args
// Stuff happens... return false;} |
传递的参数如下:
参数 | 描述 |
authentication | 表示已建立的身份验证事件的对象。 |
principal | 表示已验证的主体的对象。 |
service | 表示注册表中相应服务定义的对象。 |
provider | 表示请求的 Multifactor Authentication Provider 的对象。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
httpRequest | 负责捕获 http 请求的对象。 |
例如,如果请求多因素身份验证的应用程序在 CAS 服务注册表中以名称 MyApplication 注册,则以下脚本会跳过多因子身份验证,并且仅当提供程序是 Duo Security 且经过身份验证的主体包含名为 mustBypassMfa 且其值包含 true 的属性时,才会跳过多因子身份验证。
1 2 3 4 5 6 7 8 9 10 11 12 13 | boolean run(final Object... args) { def (authentication,principal,service,provider,logger,httpRequest) = args if (service.name == "MyApplication") { logger.info("Evaluating principal attributes ${principal.attributes}") def bypass = principal.attributes['mustBypassMfa'] if (bypass.contains("true") && provider.id == "mfa-duo") { logger.info("Skipping bypass for principal ${principal.id}") return false } } return true} |
可以在这些位置配置故障模式,CAS 将按以下顺序使用第一个定义的故障模式:
已注册的服务多因素身份验证策略
多因素身份验证提供程序配置
全局多因素身份验证配置
如果未遇到可操作的失败模式,则用户将看到一条通用的“Authentication Failed”消息。
给定应用程序的故障模式可以设置为服务定义的 multifactorPolicy 的一部分,这将覆盖在任何其他位置设置的故障模式。
1 2 3 4 5 6 7 8 9 10 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^(https|imaps)://.*", "id" : 100, "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "multifactorAuthenticationProviders" : [ "java.util.LinkedHashSet", [ "mfa-duo" ] ], "failureMode" : "CLOSED" }} |
可以接受以下故障模式:
模式 | 描述 |
OPEN | 禁止 MFA,继续进行身份验证,但不将 MFA 状态/上下文传达给依赖方。 |
CLOSED | 禁止 MFA 并阻止身份验证。 |
PHANTOM | 禁止 MFA,继续进行身份验证并将 MFA 传达给依赖方。 |
NONE | “I am Feeling lucky” 选项,其中 CAS 根本不会检查失败。 |
UNDEFINED | 默认值表示根本没有设置失败模式。 |
如果为多因素身份验证事务确定了多个多因素身份验证提供程序,则 CAS 会提供允许手动或动态进行选择的选项。选择策略包括通过排名、以脚本方式选择多因素身份验证提供程序,或允许用户查看选择菜单。
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.core.provider-selection.cookie.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.core.provider-selection.cookie.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.core.provider-selection.provider-selector-groovy-script.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
有时,当需要升级身份验证时,CAS 需要确定正确的提供商。考虑一下 CASalready 已经建立了一个有/没有提供程序的 SSO 会话,并且已经达到了身份验证级别。另一个 incomingrequest 尝试使用不同且经常相互竞争的身份验证要求来执行该 SSO 会话,该要求可能与 CAS 已建立的身份验证级别不同。具体来说,示例可能是:
CAS 已实现 SSO 会话,但单独的请求现在需要使用 DuoSecurity 进行升级身份验证。
CAS 已实现具有 DuoSecurity 满足的身份验证级别的 SSO 会话,但单独的请求现在需要使用 YubiKey 进行升级身份验证。
默认情况下,CAS 将尝试对身份验证级别进行排名并相互比较。如果 CAS 已达到高于传入请求所需的级别,则不会执行递升式身份验证。如果情况相反,CAS 会将身份验证流路由到所需的身份验证级别,并在成功后调整 SSO 会话,现在满足新的更高身份验证级别。
身份验证方法的排名是通过 CAS 设置中每个提供程序的特定属性完成的。请注意,等级值越高,它在安全等级上的排名就越高。权重值较高的提供商胜过权重值较高的提供商,并覆盖权重值较低的提供商。
如果为多因素身份验证事务确定了多个多因素身份验证提供程序,则默认情况下,CAS 将尝试根据提供程序的排名对提供程序集合进行排序,并选择一个优先级最高的提供程序。如果定义了多个触发器,其中每个触发器都决定不同的 MultiFactor 身份验证提供程序,或者同一提供程序实例多次配置了多个实例,则可能会出现此用例。
供应商选择也可以使用 Groovy 脚本策略更动态地进行。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
以下示例应作为如何根据 Groovy 脚本选择多因素提供程序的概述:
1 2 3 4 5 6 7 8 9 | import java.util.* class SampleGroovyProviderSelection { String run(final Object... args) { def (service,principal,providersCollection,logger) = args ... return "mfa-duo" }} |
传递的参数如下:
参数 | 描述 |
service | 表示请求中提供的传入服务的对象(如果有)。 |
principal | 表示经过身份验证的主体及其属性的对象。 |
providersCollection | 表示符合事务条件的候选多因子提供者集合的对象。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
通过 CAS 设置启用多因子提供者选择后,用户将看到执行多因子身份验证请求的候选提供者列表。当然,只有在 CAS 中实际上有多个多因素身份验证提供程序可用并配置时,启用选择菜单才有意义。
除了 CAS 的 MFA 功能提供的触发器之外,在某些情况下,您可能希望让用户决定是否应信任当前浏览器/设备,以便跳过后续的 MFA 请求。目标是让 CAS 在可配置的时间段内记住该决定,并且在决定被强制撤销或被视为过期之前不会用 MFA 打扰用户。
在 MFA 工作流中信任设备意味着会记住该设备的该位置的用户的最终决定。这些密钥安全地组合在一起并分配给最终决策。
在部署之前,您应该考虑以下事项:
是否应选择性地允许用户授权“当前”设备?
…还是 MFA 开始后必须自动发生?
应该如何记住用户的决定和选择?它们存储在哪里?
CAS 应该信任用户决策多长时间?
可信身份验证会话如何传回应用程序?
请注意,默认情况下启用此功能意味着,如果您启用了多个 MFA 提供程序,则它会全局应用于所有 MFA。可以选择禁用此功能,并仅将其应用于选定的一组提供程序。
-
-
-
- 配置
-
-
通过以下模块提供支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-trusted-mfa"} |
-
-
-
- 执行器端点
-
-
CAS 提供以下端点:
DELETE | /cas/actuator/multifactorTrustedDevices/{key} |
使用其密钥删除受信任的设备。
DELETE | /cas/actuator/multifactorTrustedDevices |
DELETE | /cas/actuator/multifactorTrustedDevices |
GET | /cas/actuator/multifactorTrustedDevices |
GET | /cas/actuator/multifactorTrustedDevices/{username} |
GET | /cas/actuator/multifactorTrustedDevices/export/{username} |
GET | /cas/actuator/multifactorTrustedDevices/export |
POST | /cas/actuator/multifactorTrustedDevices/import |
-
-
-
- 设置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.device-fingerprint.cookie.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.device-fingerprint.cookie.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
- 身份验证上下文
-
-
如果由于可信身份验证决策而绕过 MFA 请求,则应用程序将收到一个特殊属性,作为指示此行为的验证负载的一部分。应用程序必须进一步考虑以下情况:它们请求 MFAmode,但在响应中没有收到 MFAmode 的确认,因为身份验证会话是受信任的并且绕过了 MFA。
-
-
-
- 设备指纹
-
-
请参阅本指南。
-
-
-
- Bypass
-
-
请参阅本指南。
-
-
-
- 存储
-
-
如果您什么都不做,默认情况下,记录将保留在运行时内存中,并缓存可配置的时间。如果您的部署非常小,用户群较小,或者您希望演示该功能,则此功能最有用。还会自动安排后台清理进程来清理过期的记录。
还可以使用以下任一策略管理设备注册。
存储 | 描述 |
JSON 格式 | 请参阅本指南。 |
JDBC | 请参阅本指南。 |
MongoDb 数据库 | 请参阅本指南。 |
DynamoDb | 请参阅本指南。 |
Redis | 请参阅本指南。 |
REST | 请参阅本指南。 |
作为 MFA 工作流程的一部分,用户可以选择不向 CAS 注册受信任的设备。此外,可以按应用程序绕过 MFA 的受信任设备工作流程:
1 2 3 4 5 6 7 8 9 10 | { "@class": "org.apereo.cas.services.CasRegisteredService", "serviceId": "^(https|imaps)://app.example.org", "name": "Example", "id": 1, "multifactorPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceMultifactorPolicy", "bypassTrustedDeviceEnabled" : true }} |
为了区分受信任的设备,我们需要计算一个唯一标识各个设备的设备指纹。此设备指纹的计算可以利用请求中的多个组件的组合。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.trusted.device-fingerprint.core.component-separator=@ 用于设备指纹的 Component Separator。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.DeviceFingerprintProperties.Core. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
- 策略
-
-
设备指纹的计算方法有以下几种:
客户端 IP 地址
随机生成的 Cookie 加上客户端 IP(默认)
GeoLocation 地址。您需要确保允许 CAS 查询和处理浏览器提供的地理数据。
User-agent 标头
通过客户端 Javascript 计算并在身份验证尝试期间收集的浏览器指纹。
客户端 IP
饼干
用户代理
浏览器
地理位置
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.trusted.device-fingerprint.client-ip.enabled=false 此组件是否已启用。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.DeviceFingerprintProperties.ClientIp. 如何配置此属性? |
· cas.authn.mfa.trusted.device-fingerprint.client-ip.order=0 指示生成设备指纹时组件的顺序。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.DeviceFingerprintProperties.ClientIp. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
必须记住用户的决定,并在以后的后续请求中进行处理。还会自动安排后台清理进程,以定期扫描选定的存储库/数据库/注册表,并根据配置的阈值参数删除过期的记录。
清洁剂的使用
在群集 CAS 部署中,最好仅在一个指定的 CAS 节点上运行清理程序,并通过 CAS 设置在所有其他节点上将其关闭。保持清理程序在所有节点上运行可能会导致严重的性能和锁定问题。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.mfa.trusted.cleaner.schedule.cron-expression= 一个类似 cron 的表达式,扩展了通常的 UN*X 定义,以包括秒、分钟、小时、月日、月和星期几的触发器。例如,0 * * * * MON-FRI 表示工作日每分钟一次(在分钟的顶部 - 第 0 秒),或 0 0 0 * * * 表示每天午夜。* 请注意,定义 cron 表达式时,必须删除 start delay 和 repeat interval 设置并将其设置为空白。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.cleaner.schedule.cron-time-zone= 将解析 cron 表达式的时区。默认情况下,此属性为空(即将使用调度程序的时区)。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.cleaner.schedule.enabled-on-host=.* 如果此属性与 CAS 服务器的主机名不匹配,则覆盖 SchedulingProperties#enabled 属性值 true。如果在 statefulset 中部署带有镜像的 CAS,其中所有名称都是可预测的,但很难为不同的服务器使用不同的配置,那么这可能很有用。该值可以是确切的主机名,也可以是将用于匹配主机名的正则表达式。 此设置支持正则表达式模式。[?]. org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.cleaner.schedule.enabled=true 是否应启用计划程序来计划作业运行。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.cleaner.schedule.repeat-interval=PT2M 为数据存储实施重新加载数据的重复间隔的字符串表示形式。这是连续任务执行之间的超时。 此设置支持java.time.Duration 语法 [?]。 org.apereo.cas.configuration.model.support.quartz.SchedulingProperties. 如何配置此属性? |
显示 1 到 5 的 6 个条目
上一页12下一页
用户决策也可以保留在 DynamoDb 实例中。
通过以下模块提供支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-trusted-mfa-dynamodb"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.dynamo-db.credential-access-key= 使用 AWS 提供的访问密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.dynamo-db.credential-secret-key= 使用 AWS 提供的密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.dynamo-db.dax.url= Cluster url 的 URL 中。例如,dax://my-cluster.l6fzcv.dax-clusters.us-east-1.amazonaws.com。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbDaxProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.dynamo-db.endpoint= AWS 自定义终端节点。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.dynamo-db.region= 使用的 AWS 区域。 org.apereo.cas.configuration.model.support.dynamodb.DynamoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
-
-
-
- JDBC
- JDBC 设备存储 - 多因素身份验证可信设备/浏览器
- JDBC
-
-
用户决策也可以保存在您自己选择的常规 RDBMS 中。
通过以下模块提供支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-trusted-mfa-jdbc"} |
要了解如何配置数据库驱动程序,请参阅本指南。
CAS 配置目录中提供了以下设置和属性:
必填
自选
Hibernate 和 JDBC
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.jpa.driver-class=org.hsqldb.jdbcDriver 用于连接到数据库的 JDBC 驱动程序。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.JpaTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.jpa.password= 数据库连接密码。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.JpaTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.jpa.url=jdbc:hsqldb:mem:cas-hsql-database 数据库连接 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.JpaTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.jpa.user=sa 数据库用户必须具有足够的权限,才能在需要时处理架构更改和更新。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.JpaTrustedDevicesMultifactorProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
- JSON 格式
- JSON 设备存储 - 多因素身份验证可信设备/浏览器
- JSON 格式
-
-
记录可以保存在静态 json 资源中,其路径是通过 CAS 设置定义的。如果您的部署非常小,用户群较小,或者您希望演示该功能,这也最有用。
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.json.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.JsonTrustedDevicesMultifactorProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
- MongoDb 数据库
- MongoDb 设备存储 - 多因素身份验证可信设备/浏览器
- MongoDb 数据库
-
-
用户决策也可以保存在 MongoDb 实例中。
通过以下模块提供支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-trusted-mfa-mongo"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.mongo.client-uri= mongodb 实例的连接 URI。这通常采用 mongodb://user:psw@ds135522.somewhere.com:35522/db 的形式。如果未指定,将回退到其他单个设置。如果指定,则接管所有其他设置(如果适用)。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.MongoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.mongo.collection= 要获取和/或创建的 MongoDb 数据库集合名称。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.MongoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.mongo.database-name= MongoDb 数据库实例名称。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.MongoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.mongo.host=localhost 用于身份验证的 MongoDb 数据库主机。可以定义多个主机地址,用逗号分隔。如果定义了多个主机,则假定每个主机也包含端口(如果有)。否则,配置可能会回退到定义的端口。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.MongoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.mongo.password= 用于身份验证的 MongoDb 数据库密码。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.MongoDbTrustedDevicesMultifactorProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
-
-
-
- Redis
- Redis 设备存储 - 多因素身份验证可信设备/浏览器
- Redis
-
-
用户决策也可以保存在 Redis 实例中。
通过以下模块提供支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-trusted-mfa-redis"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.redis.cluster.nodes[0].host= 服务器的主机地址。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.redis.cluster.nodes[0].port= 服务器的端口号。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.redis.cluster.nodes[0].replica-of= 设置 master 节点的 id。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.redis.cluster.nodes[0].type= 指示此节点的类型/角色。接受的值为 MASTER, REPLICA 。 org.apereo.cas.configuration.model.support.redis.RedisClusterNodeProperties. 如何配置此属性? |
· cas.authn.mfa.trusted.redis.cluster.password= 集群连接的密码。 org.apereo.cas.configuration.model.support.redis.RedisClusterProperties. 如何配置此属性? |
显示 1 到 5 个条目,共 14 个条目
上一页123下一页
-
-
-
- REST
- REST 设备存储 - 多因素身份验证可信设备/浏览器
- REST
-
-
如果您希望完全委托用户决策的管理、验证和持久性,您可以设计一个 REST API,CAS 应联系该 API 以验证用户决策并记住这些决策以备后用。
通过以下模块提供支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-trusted-mfa-rest"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.mfa.trusted.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.mfa.trusteddevice.RestfulTrustedDevicesMultifactorProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
检索可信记录
一个 GET 请求,返回所有有效且未过期的可信身份验证记录。
1 | curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET "${endpointUrl}/[principal|date]" |
Response payload 可能会生成包含以下内容的对象集合:
1 2 3 4 5 6 7 8 9 10 | [ { "principal": "casuser", "deviceFingerprint": "...", "recordDate": "YYYY-MM-dd", "expirationDate": "YYYY-MM-dd", "name": "Office", "recordKey": "..." }] |
存储可信记录
存储新受信任的设备记录的 POST 请求。
1 | curl -H "Content-Type: application/json" -X POST -d '${json}' ${endpointUrl} |
POST 数据将匹配以下块:
1 2 3 4 5 6 7 8 | { "principal": "...", "deviceFingerprint": "...", "recordDate": "...", "expirationDate": "YYYY-MM-dd", "name": "...", "recordKey": "..."} |
响应有效负载应生成 200 http 状态代码,以指示操作成功。
CAS 中的自适应身份验证允许您根据客户端浏览器和/或设备的某些特征接受或拒绝身份验证请求。配置后,您将获得阻止某些浏览器代理提交的来自特定位置的身份验证请求的选项。例如,您可能认为从 London, UK 提交的身份验证请求被视为可疑的,或者您可能希望阻止从 Internet Explorer 提交的请求等。
自适应身份验证还可以配置为根据特定日期和时间触发多因素。例如,您可能希望在选定的日期触发多因子,或者当前时间在晚上 11 点之后或早上 6 点之前。每个规则块都可以分配给一个 mfa 提供程序,其中规则的成功匹配允许执行多因子触发器。
您可能还有兴趣查看基于风险的身份验证。
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.adaptive.policy.require-timed-multifactor[0].provider-id= 应触发的 mfa 提供程序 ID。 org.apereo.cas.configuration.model.core.authentication.TimeBasedAuthenticationProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
要启用自适应身份验证,您需要允许 CAS 对身份验证请求进行地理定位。要了解更多信息,请参阅本指南
-
-
-
- IP 情报
-
-
CAS 使您能够检查客户端 IP 地址并决定是否应授予访问权限。这对于检测机器人、代理或 VPN 流量并保护您的部署免受欺诈、自动攻击、爬虫等的侵害可能很有用。
要了解更多信息,请参阅本指南。
身份验证请求可以映射并转换为物理位置。
通过在 WAR 覆盖中包含以下依赖项来启用支持:
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-geolocation"} |
-
-
-
-
- 地理位置提供商
-
-
-
CAS 支持以下地理定位提供商:
存储 | 描述 |
谷歌地图 | 请参阅本指南。 |
Maxmind | 请参阅本指南。 |
IP 地理位置 | 请参阅本指南。 |
Groovy | 请参阅本指南。 |
-
-
-
- 谷歌地图
- GeoTracking 身份验证 - Google Maps
- 谷歌地图
-
-
使用 Google Maps Geocoding API 将身份验证请求转换为地理位置。
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-geolocation-googlemaps"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.geo-location.google-maps.api-key= 通过 API 密钥对 google maps 进行身份验证。 org.apereo.cas.configuration.model.support.geo.googlemaps.GoogleMapsProperties. 如何配置此属性? |
· cas.geo-location.google-maps.client-id= 通过客户端 ID 对 google maps 进行身份验证。 org.apereo.cas.configuration.model.support.geo.googlemaps.GoogleMapsProperties. 如何配置此属性? |
· cas.geo-location.google-maps.client-secret= 通过客户端密钥对 google maps 进行身份验证。 org.apereo.cas.configuration.model.support.geo.googlemaps.GoogleMapsProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
-
-
-
- Maxmind
-
-
GeoTracking 身份验证 - Maxmind
使用 Maxmind 将身份验证请求转换为地理位置。
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-geolocation-maxmind"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
· cas.geo-location.maxmind.city-database= 包含城市的数据库文件位置的路径。 org.apereo.cas.configuration.model.support.geo.maxmind.MaxmindProperties. 如何配置此属性? |
· cas.geo-location.maxmind.country-database= 包含国家/地区的数据库文件位置的路径。 org.apereo.cas.configuration.model.support.geo.maxmind.MaxmindProperties. 如何配置此属性? |
搜索:
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
- Groovy
- GeoTracking 身份验证 - Groovy
- Groovy
-
-
使用 Groovy 脚本将身份验证请求转换为地理位置。
CAS 配置目录中提供了以下设置和属性:
必填
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.geo-location.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
脚本的大纲可能如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import org.apereo.cas.authentication.adaptive.geo.*import org.springframework.context.* GeoLocationResponse locateByAddress(Object... args) { def (address,appContext,logger) = args logger.info("Requesting info on ${address.hostAddress}") return GeoLocationResponse .builder() .latitude(38) .longitude(-77) .build() .addAddress("USA")} GeoLocationResponse locateByCoordinates(Object... args) { def (latitude,longitude,appContext,logger) = args return GeoLocationResponse .builder() .latitude(latitude) .longitude(longitude) .build() .addAddress("USA")} |
可以传递的参数如下:
参数 | 描述 |
address | 应进行地理位置定位的 IP 地址。 |
latitude | 纬度地理坐标测量。 |
longitude | 经度地理坐标测量。 |
appContext | Spring 应用程序上下文。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
-
-
-
- IP 地理位置
- GeoTracking 身份验证 - IP GeoLocation
- IP 地理位置
-
-
使用 IP GeoLocation API 将身份验证请求转换为地理位置。
Apache Maven
Gradle
BOM - Spring
BOM - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-geolocation-ip"} |
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
· cas.geo-location.ip-geo-location.api-key= 此集成所需的 API 密钥。 org.apereo.cas.configuration.model.support.geo.ip.IPGeoLocationProperties. 如何配置此属性? |
搜索:
显示 1 到 1 的 1 个条目
上一页1下一页
CAS 使您能够检查客户端 IP 地址并决定是否应授予访问权限。这对于检测爬虫程序、代理或 VPN 流量并保护您的部署免受欺诈、自动攻击、爬虫等的侵害可能很有用。
IP 地址检查的结果可能会禁止并请求请求,允许其通过,或提供分数以表明 IP 地址可能有问题的可能性。如果结果是 ranked score,则将其与配置的风险阈值进行比较,以确定请求是否可以继续。
禁止的 IP 地址可以在 CAS 设置中定义为模式,也可以使用下面列出的策略对其进行检查。
休息
槽的
黑点
客户端 IP 地址在 GET 请求下作为标头 clientIpAddress 提交到 REST 终端节点。预期结果状态代码如下:
法典 | 描述 |
401、403 页 | IP 地址被禁止,请求将被拒绝。 |
200 元、202 元 | 允许 IP 地址,请求可以继续。 |
所有其他 | 响应正文应包含介于 1 和 0 之间的分数(1=Banned和 0=Allowed)。 |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.adaptive.ip-intel.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.authentication.RestfulAdaptiveAuthenticationIPIntelligenceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
基于风险的身份验证允许 CAS 根据过去的用户行为和收集的身份验证事件、统计数据等来检测可疑和看似欺诈的身份验证请求。在确定了主体的主要身份验证之后,通过许多可配置的标准和栅栏分析身份验证事务,以确定尝试的风险程度。评估步骤的结果是累积风险评分,然后根据 CAS 操作员设置的风险阈值对其进行权衡。如果认为身份验证尝试的风险远高于风险阈值,则可能允许 CAS 采取措施并减轻该风险。
总而言之,讲述的故事是:
如果身份验证请求至少有 [X%] 风险,请采取措施来降低该风险。
此功能的功能完全依赖于过去收集的统计信息和身份验证事件。没有数据,就没有什么可分析的,也没有风险可以检测。
请注意,对尝试的评估和风险缓解都记录在审核日志中。
自适应身份验证
如果您需要根据请求的各种特征预先评估身份验证尝试,您可能会对本指南感兴趣。
需要记住的几点说明:
您必须允许并配置 CAS 以跟踪和记录身份验证事件。
您必须允许并配置 CAS 以对身份验证请求进行地理定位。
如果所选应急计划是强制用户进入多因素身份验证流程,则必须为多因素身份验证配置CAS和相关提供商。
-
-
-
-
- 配置
-
-
-
通过在覆盖中包含以下依赖项来启用支持:
Apache Maven
格拉德尔
BOM - 弹簧
好 - Gradle
资源
1 2 3 4 5 6 7 8 9 10 | dependencies { /* The following platform references should be included automatically and are listed here for reference only. implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}") implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
*/ implementation "org.apereo.cas:cas-server-support-electrofence"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.adaptive.risk.core.threshold=0.6 风险阈值系数,超过该系数,身份验证事件可能被视为有风险。 org.apereo.cas.configuration.model.core.authentication.risk.RiskBasedAuthenticationCoreProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- 风险计算
-
-
-
您需要配置 CAS,使其能够根据过去的用户行为和收集的身份验证事件、统计信息等来检测可疑和看似欺诈的身份验证请求。
有关更多信息,请参阅本指南。
-
-
-
-
- 风险缓解
-
-
-
一旦身份验证尝试被认为有风险,您需要配置 CAS 以决定如何处理和响应身份验证尝试。
有关更多信息,请参阅本指南。
-
-
-
- 计算
- 风险计算
- 计算
-
-
可以启用一个或多个风险计算器,以允许分析身份验证请求。
风险计算策略的高级说明如下:
如果主体根本没有记录的事件,则认为该请求可疑。
如果基于活动条件的主体记录的事件数与事件总数匹配,则认为请求是安全的。
IP地址
浏览器用户代理
地理位置
日期/时间
设备指纹
此计算器查看与客户端 IP 地址匹配的过去身份验证事件。如果您希望将来自未知 IP 地址的身份验证请求视为用户可疑,则适用。这里的故事是这样的:
查找与当前客户端 IP 地址匹配的所有过去身份验证事件,并计算平均分数。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.adaptive.risk.ip.enabled=false 启用 IP 地址检查和条件以计算有风险的身份验证尝试。 org.apereo.cas.configuration.model.core.authentication.risk.RiskBasedAuthenticationIpAddressProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
- 缓解
- 风险缓解
- 缓解
-
-
一旦身份验证尝试被认为有风险,就可以启用应急计划来降低风险。如果配置并允许,CAS可以通过电子邮件和短信通知委托人和部署者。
政策决定包括以下类别:
您可以决定阻止身份验证流继续进行并禁止建立SSO会话。
您可以强制身份验证事件进入由提供者ID标识的多因素选择流。
以下设置和属性可从CAS配置曲库获得:
必填
可选
笔记
下面列出的配置设置在CAS配置元数据中标记为必需。此标志表示可能需要设置的存在来激活或影响CAS功能的行为,通常应该进行审查、可能拥有和调整。如果设置被分配了默认值,则不需要严格将设置放入配置副本中,但仍应审查它以确保它符合您的部署期望。
Show entries
搜索:
· cas.authn.adaptive.policy.require-timed-multifactor[0].provider-id= 应触发的mfa提供程序ID。 org.apereo.cas.configuration.model.core.authentication.TimeBasedAuthenticationProperties. 如何配置此属性? |
显示1到1个条目中的1个
上一个1下一个
-
-
-
-
- 消息和通知
-
-
-
当CAS对有风险的身份验证尝试做出反应和响应时,您可以选择通知主体和部署者有关CAS策略决定的信息。
以下设置和属性可从CAS配置曲库获得:
必填
可选
电子邮件服务器
笔记
下面列出的配置设置在CAS配置元数据中标记为必需。此标志表示可能需要设置的存在来激活或影响CAS功能的行为,通常应该进行审查、可能拥有和调整。如果设置被分配了默认值,则不需要严格将设置放入配置副本中,但仍应审查它以确保它符合您的部署期望。
Show entries
搜索:
· cas.authn.adaptive.risk.response.mail.attribute-name= 指示此邮件的目标电子邮件地址的主体属性名称。这些属性必须已经被解析并可供CAS主体使用。当指定多个属性时,然后根据可用的CAS主体检查每个属性以定位电子邮件地址值,这可能会导致发送多封电子邮件。 此设置支持Spring表达式语言。 org.apereo.cas.configuration.model.support.email.EmailProperties. 如何配置此属性? |
· cas.authn.adaptive.risk.response.mail.from= 来自地址的电子邮件。 org.apereo.cas.configuration.model.support.email.EmailProperties. 如何配置此属性? |
· cas.authn.adaptive.risk.response.mail.subject= 主题可以定义为verbaitm,也可以使用语法#{subject-language-key}指向语言包中的消息键。此键应指向在适当的语言包中定义的有效消息,然后通过活动语言环境获取该消息。如果语言代码无法解析真正的主题,则将使用默认主题值。 此设置支持Spring表达式语言。 org.apereo.cas.configuration.model.support.email.EmailProperties. 如何配置此属性? |
· cas.authn.adaptive.risk.response.sms.attribute-name= 指示此SMS消息的目标电话号码的主体属性名称。该属性必须已被解析并可供CAS主体使用。 此设置支持Spring表达式语言。 org.apereo.cas.configuration.model.support.sms.SmsProperties. 如何配置此属性? |
· cas.authn.adaptive.risk.response.sms.from= 消息的发件人地址。 org.apereo.cas.configuration.model.support.sms.SmsProperties. 如何配置此属性? |
显示6个条目中的1到5个
上一个12下一个
要了解有关可用选项的更多信息,请参阅本指南或本指南。