网站建设幻灯片背景图片素材班级优化大师的优点
如有疑问,请看视频:CAS单点登录(第7版)
- 委托:在CAS系统中,委托通常指的是一个服务(Service A)将某些权限或操作委托给另一个服务(Service B)。例如,Service A可能允许Service B代表它执行某些特定的操作。这种情况下,Service A是委托人,Service B是被委托人。
- 代理:在CAS系统中,代理通常指的是一个用户(User A)授权另一个用户(User B)代表他执行某些操作。例如,User A可能允许User B代表他访问某些资源或执行某些任务。这种情况下,User A是被代理人,User B是代理人。
CAS 可以充当使用 Pac4j 库的客户端(即服务提供商或代理),并将身份验证委托给:
- CAS 服务器
- SAML2 身份提供商
- OAuth2 提供商,如 Facebook、Twitter、GitHub、Google、LinkedIn 等
- OpenID Connect 身份提供商,例如 Google、Apple
- ADFS
通过在 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-pac4j-webflow" } |
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.core.discovery-selection.json.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDiscoverySelectionJsonProperties. 如何配置此属性? |
· cas.authn.pac4j.core.discovery-selection.selection-type=MENU 指示如何控制标识提供者的选择和显示。可用值如下: MENU将列出定义的身份提供商供用户选择。 DYNAMIC首先预先构建定义的身份提供商,然后在运行时根据用户属性、属性、域标识符等动态选择一个身份提供商。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDiscoverySelectionProperties. 如何配置此属性? |
· cas.authn.pac4j.core.groovy-authentication-request-customizer.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.pac4j.core.groovy-provider-post-processor.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.pac4j.core.groovy-redirection-strategy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
注意
发出身份验证请求的客户端可以是任何类型(SAML、OAuth2、OpenID Connect 等),并且允许使用 CAS 服务器支持并配置为理解的任何协议提交身份验证请求。这意味着您可能有一个 OAuth2 客户端在委派模式下使用 CAS 在外部 SAML2 身份提供商、另一个 CAS 服务器或 Facebook 上进行身份验证,并在该流的末尾接收 OAuth2 用户配置文件。CAS 服务器能够充当代理,在中间执行协议转换。
-
-
-
- 身份提供商注册
-
-
请参阅本指南。
-
-
-
- 配置文件属性
-
-
在受 CAS 保护的应用程序中,通过服务票证验证,用户信息被推送到 CAS 客户端,从而被推送到应用程序本身。
用户的标识符始终推送到 CAS 客户端。对于用户属性,它既涉及服务器的配置,也涉及验证服务工单的方式。
在 CAS 服务器端,要将属性推送到 CAS 客户端,应在预期的服务中对其进行配置:
1 2 3 4 5 6 7 8 9 10 11 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "sample", "name" : "sample", "id" : 100, "description" : "sample", "attributeReleasePolicy" : { "@class" : "org.apereo.cas.services.ReturnAllowedAttributeReleasePolicy", "allowedAttributes" : [ "java.util.ArrayList", [ "name", "first_name", "middle_name" ] ] } } |
-
-
-
- 发现选择
-
-
请参阅本指南。
-
-
-
- 身份验证策略
-
-
请参阅本指南。
-
-
-
- 供应
-
-
请参阅本指南。
-
-
-
- 后处理
-
-
请参阅本指南。
-
-
-
- 网络流
-
-
委托身份验证的 webflow 配置的某些方面可以通过以下设置进行控制:
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.pac4j.webflow.enabled=true 是否应启用 webflow 自动配置。 org.apereo.cas.configuration.model.core.web.flow.WebflowAutoConfigurationProperties. 如何配置此属性? |
· cas.authn.pac4j.webflow.order=0 配置 webflow 的顺序。 org.apereo.cas.configuration.model.core.web.flow.WebflowAutoConfigurationProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
-
-
-
- 故障排除
-
-
要启用其他日志记录,请配置 log4j 配置文件以添加以下级别:
1 2 3 4 5 6 | ... <Logger name="org.pac4j" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/> </Logger> ... |
服务定义可以通过定义自己的访问策略和身份验证策略来有条件地授权使用外部身份提供商:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "sample", "name" : "sample", "id" : 100, "accessStrategy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy", "delegatedAuthenticationPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy", "allowedProviders" : [ "java.util.ArrayList", [ "Facebook", "Twitter" ] ], "permitUndefined": true, "exclusive": false, "selectionStrategy": "file:/path/to/script.groovy" } } } |
身份验证策略支持以下字段:
类型 | 描述 |
allowedProviders | 允许的提供者列表应包含外部身份提供者名称(即客户端名称)。 |
permitUndefined | 决定在未明确定义允许的提供者的情况下是否应授予访问权限。 |
exclusive | 决定是否应将身份验证专门限制为允许的提供者,禁用其他方法,例如用户名/密码等。 |
selectionStrategy | 决定如何以脚本化方式选择和重定向到身份提供者。 |
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.core.discovery-selection.json.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDiscoverySelectionJsonProperties. 如何配置此属性? |
· cas.authn.pac4j.core.discovery-selection.selection-type=MENU 指示如何控制标识提供者的选择和显示。可用值如下: MENU将列出定义的身份提供商供用户选择。 DYNAMIC首先预先构建定义的身份提供商,然后在运行时根据用户属性、属性、域标识符等动态选择一个身份提供商。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDiscoverySelectionProperties. 如何配置此属性? |
· cas.authn.pac4j.core.groovy-authentication-request-customizer.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.pac4j.core.groovy-provider-post-processor.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.pac4j.core.groovy-redirection-strategy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
有关更多详细信息,请参阅本指南。
默认情况下,可用身份提供商的列表显示在选择菜单中,并允许用户选择提供商。在某些情况下,系统可能会指示浏览器自动重定向到预先选择的身份提供商。
-
-
-
- 预选身份提供者
-
-
可以通过 CAS 配置指示身份提供者始终执行自动重定向,而不管应用程序类型和/或身份验证请求如何。CAS 将所选身份提供者视为处理身份验证请求的主要策略。
-
-
-
- 身份提供商排他性
-
-
来自以下应用程序的身份验证请求将自动重定向到在 CAS 配置中标识为 Twitter 的身份提供商,因为委托的身份验证策略仅允许此提供商的单次独占使用,从而删除了选择菜单和选择其他替代身份验证方法的功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "sample", "name" : "sample", "id" : 100, "accessStrategy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy", "delegatedAuthenticationPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy", "allowedProviders" : [ "java.util.ArrayList", [ "Twitter" ] ], "exclusive": true } }} |
-
-
-
- 身份提供商 Cookie 选择
-
-
可以选择使用专用 Cookie 跟踪和存储从选择菜单中选择的身份提供商,然后该 Cookie 将在后续尝试自动重定向到身份提供商时使用,跳过选择菜单。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.authn.pac4j.cookie.auto-configure-cookie-path=true 确定在未配置 Cookie 路径时,是否应根据应用程序上下文路径自动配置 Cookie 路径。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationCookieProperties. 如何配置此属性? |
· cas.authn.pac4j.cookie.domain= Cookie 域。指定应在其中显示此 Cookie 的域。域名的形式由 RFC 2965 指定。域名以点 (.foo.com) 开头,表示该 Cookie 对指定域名系统 (DNS) 区域中的服务器可见(例如,www.foo.com,但不是 a.b.foo.com)。默认情况下,Cookie 仅返回给发送它们的服务器。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationCookieProperties. 如何配置此属性? |
· cas.authn.pac4j.cookie.enabled=false 确定是否应启用 Cookie 设置以跟踪委托的身份验证选项和身份提供商。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationCookieProperties. 如何配置此属性? |
· cas.authn.pac4j.cookie.http-only=true 如果此 Cookie 包含 HttpOnly 属性,则为 true。这意味着脚本引擎(如 javascript)不应访问 cookie。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationCookieProperties. 如何配置此属性? |
· cas.authn.pac4j.cookie.max-age=-1 Cookie 的最长期限,以秒为单位指定。默认情况下,-1 表示 Cookie 将一直存在,直到浏览器关闭。正值表示 Cookie 将在该秒数后过期。请注意,该值是 Cookie 过期的最长期限,而不是 Cookie 的当前期限。负值表示 Cookie 不会永久存储,并且将在 Web 浏览器退出时删除。零值会导致 Cookie 被删除。 此设置支持java.time.Duration 语法 [?]。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationCookieProperties. 如何配置此属性? |
显示 1 到 5 的 9 个条目
上一页12下一页
-
-
-
- Identity Provider Groovy 选择
-
-
给定身份提供者的自动重定向策略也可以通过 Groovy 资源动态决定,其路径是通过 CAS 设置定义的。
CAS 配置目录中提供了以下设置和属性:
必填
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.core.groovy-redirection-strategy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
Groovy 脚本将具有以下轮廓:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import org.apereo.cas.web.* import org.pac4j.core.context.* import org.apereo.cas.pac4j.* import org.apereo.cas.web.support.* import java.util.stream.* import java.util.* import org.apereo.cas.configuration.model.support.delegation.* def run(Object[] args) { def (requestContext,service,registeredService,providers,applicationContext,logger) = args providers.forEach(provider -> { logger.info("Checking ${provider.name}...") if (provider.name.equals("Twitter")) { provider.autoRedirectType = DelegationAutoRedirectTypes.CLIENT return provider } }) return null} |
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
以下参数将传递给脚本:
参数 | 描述 |
requestContext | 对 Spring Webflow 请求上下文的引用,如 RequestContext。 |
service | 将应用程序身份验证请求引用为 Service(如果有)。 |
registeredService | 对已注册服务定义的引用(如果有)。 |
providers | 对标识为 DelegatedClientIdentityProviderConfiguration 的身份提供程序配置集的引用。 |
applicationContext | 将应用程序上下文引用为 ApplicationContext。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
-
-
-
- 每个服务的身份提供者选择
-
-
给定身份提供者的自动重定向策略也可以通过 Groovy 资源动态决定,该资源的路径直接在服务定义中指定,作为身份验证策略的提供者选择策略的一部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "sample", "name" : "sample", "id" : 100, "accessStrategy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy", "delegatedAuthenticationPolicy" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceDelegatedAuthenticationPolicy", "selectionStrategy": "file:/path/to/script.groovy" } }} |
用法
如果你愿意,你也可以使用带有 groovy {...} 结构的 Groovy Inline 语法。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。参数集合和脚本正文与上面的 Identity Provider Groovy Selection 选项相同。
-
-
-
- 身份提供者自定义选择
-
-
如果您希望创建自己的重定向策略,则需要设计一个组件并将其注册到 CAS 中,如下所示:
1 2 3 4 | @Beanpublic DelegatedClientIdentityProviderRedirectionStrategy delegatedClientIdentityProviderRedirectionStrategy() { return new CustomDelegatedClientIdentityProviderRedirectionStrategy(); } |
请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。
CAS 可用的外部身份提供者将呈现给用户,并可用于使用以下策略进行发现和选择。
记得
如果您有兴趣使用发现服务支持发现 SAML2 身份提供者,则可能需要查看本指南。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.core.discovery-selection.json.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDiscoverySelectionJsonProperties. 如何配置此属性? |
· cas.authn.pac4j.core.discovery-selection.selection-type=MENU 指示如何控制标识提供者的选择和显示。可用值如下: MENU将列出定义的身份提供商供用户选择。 DYNAMIC首先预先构建定义的身份提供商,然后在运行时根据用户属性、属性、域标识符等动态选择一个身份提供商。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDiscoverySelectionProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
菜单
动态
自定义
这是默认且最常见的策略,它允许在登录页面上列出外部身份提供商,允许用户从菜单中订购一个身份提供商,并从选项列表中选择一个身份提供商。
可以自定义委托身份验证流程,以允许最终用户选择身份验证配置文件,以防身份提供商生成的用户帐户可以匹配多个记录并链接到多个角色。找到多个匹配项时,CAS 用户界面允许最终用户选择应恢复身份验证的适当配置文件。
使用以下选项查询委托流的凭证解析规则。
LDAP 协议
Groovy
自定义
委托身份验证后的候选配置文件可以在 LDAP 目录中找到。有一些选项可用于从 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-ldap-core"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
LDAP & Active Directory
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.profile-selection.ldap[0].base-dn= 要使用的基本 DN。在某些情况下,单个 LDAP 树的不同部分可能被视为 base-dns。可以使用特殊的分隔符指定每个条目并将其连接在一起,而不是为每个单独的 base-dn 复制 LDAP 配置块。用户 DN 按定义的顺序使用所有 base-dn 和 DNresolver 的组合进行检索。如果找到多个 DN,则 DN 解析应失败。否则,将返回找到的第一个 DN。通常的语法是:subtreeA,dc=example,dc=net|subtreeC,dc=example,dc=net。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLdapProfileSelectionProperties. 如何配置此属性? |
· cas.authn.pac4j.profile-selection.ldap[0].bind-credential= 连接到 LDAP 时要使用的绑定凭证。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLdapProfileSelectionProperties. 如何配置此属性? |
· cas.authn.pac4j.profile-selection.ldap[0].bind-dn= 连接到 LDAP 时要使用的绑定 DN。注入 LDAP 连接池的 LDAP 连接配置可以使用以下参数进行初始化: org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLdapProfileSelectionProperties. 如何配置此属性? |
· cas.authn.pac4j.profile-selection.ldap[0].ldap-url= 服务器的 LDAP URL。可以指定多个,用空格和/或逗号分隔。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLdapProfileSelectionProperties. 如何配置此属性? |
· cas.authn.pac4j.profile-selection.ldap[0].search-filter= 您还可以在 file:/path/to/GroovyScript.groovy的语法中提供外部 groovy 脚本,以动态地完全构建最终的过滤器模板。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLdapProfileSelectionProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
默认情况下,从外部身份提供商提取并合并到 CASauthenticated 主体中的用户配置文件不会在任何位置存储或跟踪。CAS 确实提供了其他选项,允许在 CAS 外部管理此类配置文件和/或将其预置到身份存储中,从而允许您选择将外部/来宾帐户与 CAS 使用的身份验证源等中找到的等效帐户链接。
Groovy
REST
SCIM
CUSTOM
CAS 配置目录中提供了以下设置和属性:
必填
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.provisioning.groovy.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationGroovyProvisioningProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
可以使用具有以下结构的外部 Groovy 脚本来执行供应任务:
1 2 3 4 | def run(Object[] args) { def (principal,userProfile,client,logger) = args ...} |
脚本不会返回值。以下参数将传递给脚本:
参数 | 描述 |
principal | 包含所有属性和声明的 CAS 身份验证 Principal。 |
userProfile | 从外部身份提供程序中提取的原始 UserProfile。 |
client | 负责 CAS 和身份提供商之间交换的 Client 配置。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
配置的身份提供商在呈现给用户界面之前可以经历后处理阶段。后处理操作能够更新和调整委托身份提供商的标记和设置,以更改标题、重定向 URL 等。后处理器的一个常见示例是有条件地执行服务器端自动重定向到外部身份提供程序,而不必等待浏览器进行重定向。
CAS 配置目录中提供了以下设置和属性:
必填
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.core.groovy-provider-post-processor.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
Groovy 脚本的大纲如下:
1 2 3 4 5 6 7 8 9 10 11 12 | import org.apereo.cas.web.* import org.apereo.cas.web.support.* import org.springframework.webflow.execution.* def run(Object[] args) { def (requestContext,providers,logger) = args def provider = providers[0] logger.info("Checking provider ${provider.name}...") def response = WebUtils.getHttpServletResponseFromExternalWebflowContext(requestContext) logger.debug("Redirecting to ${provider.redirectUrl}") response.sendRedirect(provider.redirectUrl);} |
传递的参数如下:
参数 | 描述 |
requestContext | 表示 Spring Webflow 的 RequestContext 的对象。 |
providers | 委托身份提供商配置的集合。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
您还可以选择在流程的最后一步之前和创建 SSO 会话之前预处理委托的身份验证事件。通过在此处预处理身份验证,可以在最终经过身份验证的主体完全融入 SSO 会话之前对其进行操作和更新。这可以使用以下 bean 定义和实现DelegatedAuthenticationPreProcessor来完成:
1 2 3 4 | @Beanpublic DelegatedAuthenticationPreProcessor myProcessor() { return new MyDelegatedAuthenticationPreProcessor();} |
请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。
可以从 CAS 发送到已配置身份提供商的身份验证 (HTTP) 请求在运行时进行自定义。身份验证请求的此自定义阶段发生在构建请求并将其传递到客户端浏览器之前。在定制员继续之前,它还必须声明其对给定身份提供商和/或请求的支持,并且还有机会确定身份提供商是否有权执行给定请求。
可以使用外部 Groovy 脚本自定义身份验证请求。
CAS 配置目录中提供了以下设置和属性:
必填
Groovy 脚本
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.core.groovy-authentication-request-customizer.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
Groovy 脚本的大纲如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import org.apereo.cas.authentication.principal.* import org.apereo.cas.web.* import org.apereo.cas.web.support.* import org.pac4j.core.client.* import org.pac4j.core.context.* import org.springframework.context.* def run(Object[] args) { def (client,webContext,appContext,logger) = args logger.info("Checking ${client.name}...") webContext.setRequestAttribute("customAttribute", "value")} def supports(Object[] args) { def (client,webContext,appContext,logger) = args logger.info("Checking support for ${client.name}...") return true} def isAuthorized(Object[] args) { def (client,webContext,service,appContext,logger) = args logger.info("Checking authorization for ${client.name}...") return true} |
传递的参数如下:
参数 | 描述 |
client | 将身份提供者表示为 IndirectClient 的对象。 |
webContext | 将 HTTP 请求/响应表示为 WebContext 的对象。 |
service | 传入应用程序请求的 WebApplicationService。 |
appContext | Spring ApplicationContext. |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
对于更高级的场景,你也可以设计你的 webflow 异常处理程序,并在运行时将其注册到 CAS:
1 2 3 4 | @Beanpublic DelegatedClientAuthenticationRequestCustomizer myCustomizer() { return new DelegatedClientAuthenticationRequestCustomizer();} |
请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。
身份提供商是可以验证用户身份的服务器(如 Google、Yahoo 等),而不是 CAS 服务器。例如,如果要将 CAS 身份验证委托给 Twitter,则必须为 Twitter 提供程序添加 OAuth 客户端,一旦向 CAS 教授提供程序设置,这将自动为您完成。
请注意,对于每个提供程序,CAS 服务器都被视为客户端,因此应在外部身份提供程序处声明为 client。声明后,提供程序可以提供密钥和密钥,这也必须在 CAS 配置中定义。
CAS 提供以下端点:
DELETE | /cas/actuator/delegatedClients |
清除加载的身份提供程序,并从 CAS 配置或其他来源重新构建。
GET | /cas/actuator/delegatedClients |
可以使用设置向 CAS 注册委托身份验证的身份提供者。
Show entries
搜索:
供应商 | 参考 |
苹果 | 请参阅本指南。 |
Azure AD | 请参阅本指南。 |
箱 | 请参阅本指南。 |
自定义 | 请参阅本指南。 |
DropBox | 请参阅本指南。 |
显示 1 到 5 的 21 个条目
上一页1234 5下一页
可以使用 SQL 数据库向 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-jpa-util"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
Hibernate 和 JDBC
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.jdbc.driver-class=org.hsqldb.jdbcDriver 用于连接到数据库的 JDBC 驱动程序。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.jdbc.password= 数据库连接密码。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.jdbc.url=jdbc:hsqldb:mem:cas-hsql-database 数据库连接 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.jdbc.user=sa 数据库用户必须具有足够的权限,才能在需要时处理架构更改和更新。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationJdbcProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
功能激活
要激活此功能,必须打开以下功能开关:
1 | CasFeatureModule.DelegatedAuthentication.jdbc.enabled=true |
要了解有关配置功能切换的更多信息,请参阅此页面。
身份提供程序配置应在以下数据库表中找到:
1 2 3 4 5 6 7 | CREATE TABLE JdbcIdentityProviderEntity ( id INTEGER IDENTITY PRIMARY KEY, type VARCHAR(250), index INTEGER, name VARCHAR(250), value VARCHAR(250)); |
例如,以下 SQL 脚本指示外部 CAS 身份提供程序所需的配置:
1 2 3 4 | INSERT INTO JdbcIdentityProviderEntity (type, index, name, value) VALUES ('cas', 0, 'login-url', 'https://cas.example.org');INSERT INTO JdbcIdentityProviderEntity (type, index, name, value) VALUES ('cas', 0, 'protocol', 'CAS30'); |
您会注意到,name 列中的值附加到配置前缀 cas.authn.pac4j 中。支持以下类型:cas 、oidc 、 saml 、 oauth。
可以使用外部 REST 终端节点向 CAS 提供委托身份验证的身份提供商。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.rest.url= 用于联系和检索属性的终端节点 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationRestfulProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
预期的负载类型(通过 CAS 设置控制)可以通过以下方式理解和使用。
PAC4J 封装
箱
这允许 CAS 服务器访问远程 REST 端点,该端点负责在响应正文中生成以下有效负载:
1 2 3 4 5 6 7 8 9 10 | { "callbackUrl": "https://sso.example.org/cas/login", "properties": { "github.id": "...", "github.secret": "...",
"cas.loginUrl.1": "...", "cas.protocol.1": "..." }} |
上述有效负载中可用properties的语法和集合由 Pac4j 库控制。返回的响应必须附有 200 状态代码。
请注意,获取身份提供程序注册数据后,CAS 将使用可配置的过期策略缓存结果,并且仅当缓存内容为空或已失效时,CAS 才会联系终端节点。此缓存由每个 CAS 服务器节点拥有,以防同一集群中有多个节点,并且与缓存交互的操作必须能够将任务应用于所有 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.oidc[0].apple.discovery-uri= 用于查找 provide 元数据的发现终端节点。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jAppleOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].apple.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jAppleOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].apple.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jAppleOidcClientProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.oidc[0].azure.discovery-uri= 用于查找 provide 元数据的发现终端节点。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jAzureOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].azure.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jAzureOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].azure.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jAzureOidcClientProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-cas"} |
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.cas[0].login-url= CAS 服务器登录 URL。 org.apereo.cas.configuration.model.support.pac4j.cas.Pac4jCasClientProperties. 如何配置此属性? |
· cas.authn.pac4j.cas[0].protocol=CAS20 要使用的 CAS 协议。可接受的值为 CAS10, CAS20, CAS20_PROXY, CAS30, CAS30_PROXY, SAML。 org.apereo.cas.configuration.model.support.pac4j.cas.Pac4jCasClientProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.dropbox.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDropboxProperties. 如何配置此属性? |
· cas.authn.pac4j.dropbox.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationDropboxProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.facebook.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationFacebookProperties. 如何配置此属性? |
· cas.authn.pac4j.facebook.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationFacebookProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.twitter.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationTwitterProperties. 如何配置此属性? |
· cas.authn.pac4j.twitter.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationTwitterProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.github.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationGitHubProperties. 如何配置此属性? |
· cas.authn.pac4j.github.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationGitHubProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.foursquare.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationFoursquareProperties. 如何配置此属性? |
· cas.authn.pac4j.foursquare.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationFoursquareProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.google.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationGoogleProperties. 如何配置此属性? |
· cas.authn.pac4j.google.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationGoogleProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.oidc[0].google.discovery-uri= 用于查找 provide 元数据的发现终端节点。 org.apereo.cas.configuration.model.support.pac4j.oidc.BasePac4jOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].google.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.BasePac4jOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].google.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.BasePac4jOidcClientProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.hi-org-server.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationHiOrgServerProperties. 如何配置此属性? |
· cas.authn.pac4j.hi-org-server.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationHiOrgServerProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.oidc[0].keycloak.base-uri= 用于构建元数据发现 URI 的 Keycloak 基 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jKeyCloakOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].keycloak.discovery-uri= 用于查找 provide 元数据的发现终端节点。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jKeyCloakOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].keycloak.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jKeyCloakOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].keycloak.realm= 用于构建元数据发现 URI 的 Keycloak 领域。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jKeyCloakOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].keycloak.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.Pac4jKeyCloakOidcClientProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.linked-in.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLinkedInProperties. 如何配置此属性? |
· cas.authn.pac4j.linked-in.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationLinkedInProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.oauth2[0].auth-url= 提供商的 Authorization 端点。 org.apereo.cas.configuration.model.support.pac4j.oauth.Pac4jOAuth20ClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oauth2[0].id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oauth.Pac4jOAuth20ClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oauth2[0].profile-url= 配置文件提供程序的端点。 org.apereo.cas.configuration.model.support.pac4j.oauth.Pac4jOAuth20ClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oauth2[0].secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oauth.Pac4jOAuth20ClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oauth2[0].token-url= Provider 的 Token 端点。 org.apereo.cas.configuration.model.support.pac4j.oauth.Pac4jOAuth20ClientProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.oidc[0].generic.discovery-uri= 用于查找 provide 元数据的发现终端节点。 org.apereo.cas.configuration.model.support.pac4j.oidc.BasePac4jOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].generic.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.BasePac4jOidcClientProperties. 如何配置此属性? |
· cas.authn.pac4j.oidc[0].generic.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.oidc.BasePac4jOidcClientProperties. 如何配置此属性? |
显示 1 到 3 个条目中的 3 个
上一页1下一页
-
-
-
- 按服务自定义
-
-
外部 OpenID Connect 身份提供商的配置通常在构建时通过 CAS 配置设置完成,并适用于所有应用程序和依赖方。您可以通过为服务定义分配专用属性,在每个应用程序的基础上覆盖此配置的某些方面。
CAS 为各种模块和功能提供并识别以下属性:
Show entries
搜索:
名字 | 默认值 | 类型 | 群 |
forceAuthn | BOOLEAN | DELEGATED_AUTHN | |
max_age | INTEGER | DELEGATED_AUTHN_OIDC | |
passiveAuthn | BOOLEAN | DELEGATED_AUTHN | |
response_mode | STRING | DELEGATED_AUTHN_OIDC | |
response_type | STRING | DELEGATED_AUTHN_OIDC |
显示 1 到 5 的 6 个条目
上一页12下一页
示例 JSON 文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^https://app.example.org", "name" : "Example", "id" : 1, "properties" : { "@class" : "java.util.HashMap", "max_age" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceProperty", "values" : [ "java.util.HashSet", [ "1000" ] ] }, "scope" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceProperty", "values" : [ "java.util.HashSet", [ "openid profile" ] ] } }} |
有关更多详细信息,请参阅已注册的服务属性。
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.paypal.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationPayPalProperties. 如何配置此属性? |
· cas.authn.pac4j.paypal.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationPayPalProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.windows-live.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationWindowsLiveProperties. 如何配置此属性? |
· cas.authn.pac4j.windows-live.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationWindowsLiveProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.wordpress.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationWordpressProperties. 如何配置此属性? |
· cas.authn.pac4j.wordpress.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationWordpressProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
通过在 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-pac4j-oidc"} |
-
-
-
- 配置
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.yahoo.id= 客户端 ID。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationYahooProperties. 如何配置此属性? |
· cas.authn.pac4j.yahoo.secret= 客户端密钥。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.Pac4jDelegatedAuthenticationYahooProperties. 如何配置此属性? |
显示 1 到 2 的 2 个条目
上一页1下一页
有关委托身份验证流程的概述,请参阅本指南。
可以通过多种方式自定义委托或外部身份提供商。您可以自定义和修改由 CAS 构建的现有身份提供者的配置,以更改或覆盖其行为的某些方面,也可以向 CAS 注册全新的身份提供者。
-
-
-
- 现有身份提供商
-
-
要自定义和修改现有身份提供商的配置,您需要在项目中构建并注册以下@Bean:
1 2 3 4 5 6 7 8 | @Beanpublic DelegatedClientFactoryCustomizer myCustomizer() { return client -> { if (client instanceof MyClient myClient) { // Customize here... } };} |
请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。
-
-
-
- 新身份提供商
-
-
要向 CAS 注册您自己的外部身份提供商,您需要在项目中构建并注册以下@Bean:
1 2 3 4 | @Beanpublic DelegatedIdentityProviderFactory pac4jDelegatedClientFactory() { return new MyDelegatedIdentityProviderFactory();} |
DelegatedIdentityProviderFactory 负责(重新)构建委托的身份提供者实例。要了解有关允许您向 CAS 注册身份提供商的现有选项的更多信息,请参阅本指南。与以前一样,请参阅本指南以了解有关如何将配置注册到 CAS 运行时的更多信息。
如果您不想构建自己的工厂实现,则有一个更简单的选项,它允许您依赖现有的 DelegatedIdentityProviderFactory 并简单地构建和提供身份提供程序实例:
1 2 3 4 | @Beanpublic ConfigurableDelegatedClientBuilder myClientBuilder() { return new MyDelegatedClientBuilder();} |
您可以定义所需数量的 ConfigurableDelegatedClientBuilder 实例。然后,DelegatedIdentityProviderFactory 将自动选取新的身份提供程序实例,配置并初始化它们以用于 CAS。
可以将 CAS 配置为将身份验证请求路由到一个或多个外部 SAML2 身份提供程序。通过在 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-pac4j-saml"} |
-
-
-
-
- 配置
-
-
-
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.saml[0].keystore-password= 生成 SP/CAS 密钥库时使用的密码。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlClientProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].keystore-path= 用于使用和生成 SP/CAS 密钥库的密钥库的位置。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlClientProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].private-key-password= 为 SP/CAS 密钥库生成私钥时使用的密码。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlClientProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].service-provider-entity-id=https://apereo.org/cas/samlsp SP 元数据生成过程中使用的 SP/CAS 的实体 ID。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlClientProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
-
- 元数据管理
-
-
-
请参阅本指南。
-
-
-
-
- 按服务自定义
-
-
-
外部 SAML2 身份提供程序的配置通常在构建时通过 CAS 配置设置完成,并适用于所有应用程序和依赖方。您可以通过为服务定义分配专用属性,在每个应用程序的基础上覆盖此配置的某些方面。
CAS 为各种模块和功能提供并识别以下属性:
Show entries
搜索:
名字 | 默认值 | 类型 | 群 |
AssertionConsumerServiceIndex | LONG | DELEGATED_AUTHN_SAML2 | |
AttributeConsumingServiceIndex | LONG | DELEGATED_AUTHN_SAML2 | |
AuthnContextClassRefs | SET | DELEGATED_AUTHN_SAML2 | |
AuthnRequestBindingType | STRING | DELEGATED_AUTHN_SAML2 | |
ComparisonType | STRING | DELEGATED_AUTHN_SAML2 |
显示 1 到 5 的 16 个条目
上一页1234下一页
示例 JSON 文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^https://app.example.org", "name" : "Example", "id" : 1, "properties" : { "@class" : "java.util.HashMap", "AuthnContextClassRefs" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceProperty", "values" : [ "java.util.HashSet", [ "https://refeds.org/profile/mfa" ] ] }, "WantsAssertionsSigned" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceProperty", "values" : [ "java.util.HashSet", [ "false" ] ] } }} |
有关更多详细信息,请参阅已注册的服务属性。
-
-
-
-
- 身份提供商发现服务
-
-
-
请参阅本指南。
-
-
-
-
- 故障排除
-
-
-
要启用其他日志记录,请修改日志记录配置文件以添加以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <Logger name="org.pac4j" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/></Logger> <Logger name="org.opensaml" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/></Logger> <Logger name="PROTOCOL_MESSAGE" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/></Logger> |
-
-
-
- 元数据管理
- 概述
- SAML2 委托身份验证 - 元数据管理
- 概述
- 元数据管理
-
-
如果 CAS 配置为将身份验证委托给外部身份提供商,则服务提供商 (CAS) 元数据以及身份提供商元数据将自动在以下终端节点上可用:
端点 | 描述 |
/sp/metadata | 显示服务提供商 (CAS) 元数据。如果只定义了一个 SAML2 IdP,则效果很好。 |
/sp/idp/metadata | 显示身份提供程序元数据。如果只定义了一个 SAML2 IdP,则效果很好。接受 force=true 参数以重新加载身份提供程序的元数据。 |
/sp/{clientName}/metadata | 显示请求的客户端名称的服务提供商元数据。 |
/sp/{clientName}/idp/metadata | 显示请求的客户端名称的身份提供程序元数据。接受 force=true 参数以重新加载身份提供程序的元数据 |
请注意,您可以将多个外部身份提供商与 CAS 结合使用,其中每个集成都可以使用一组不同的元数据和密钥来完成,以便 CAS 充当服务提供商。每个集成(称为客户端,因为 CAS 本身成为身份提供商的客户端)都可以选择性地指定一个名称。
请记住,在您访问上述端点或查看 CAS 登录屏幕后,将自动生成服务提供商 (CAS) 元数据。这是必需的,因为现在生成元数据需要访问 HTTP 请求/响应。如果无法解析元数据,则返回状态代码 406 - Not Acceptable。
-
-
-
-
-
- 策略
-
-
-
-
委托身份提供商和 (CAS) 服务提供商的 SAML2 元数据都可以通过以下设置进行管理。
身份提供商
服务提供商
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.saml[0].metadata.identity-provider-metadata-path= 用于处理身份验证的身份提供程序的元数据位置。该位置可以指定为元数据文件的直接绝对路径,也可以是身份提供商元数据端点的 URL。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlClientMetadataProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- 文件系统
- SAML2 委托身份验证 - FileSystem Service Provider 元数据
- 文件系统
-
-
-
作为 SAML2 服务提供商的 CAS 的 SAML2 元数据通常在磁盘上进行管理,如果未找到元数据文件,则在启动时生成。如有必要,必须手动处理对此元数据文件的未来和后续更改,并且可能需要整理和编辑该文件以满足您的目的。这是默认选项。
CAS 配置目录中提供了以下设置和属性:
必填
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.saml[0].metadata.service-provider.file-system.location= 要在文件系统上使用和生成的 SP 元数据的位置。如果元数据文件已经存在,它将被忽略并重新使用。要在文件系统上使用和生成的 SP 元数据的位置。如果元数据文件已经存在,它将被忽略并重新使用。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlServiceProviderMetadataFileSystemProperties. 如何配置此属性? |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- JDBC
- SAML2 委托身份验证 - JDBC 服务提供商元数据
- JDBC
-
-
-
作为 SAML2 服务提供商的 CAS 的 SAML2 元数据也可以在关系数据库实例内进行管理。要激活此功能,您需要首先在覆盖中包含以下模块:
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-jpa-util"} |
功能激活
要激活此功能,必须打开以下功能开关:
1 | CasFeatureModule.DelegatedAuthentication.saml-jdbc.enabled=true |
要了解有关配置功能切换的更多信息,请参阅此页面。
最后,请确保您已在 CAS 设置中指定了一个表名,该表名最终将容纳生成的 SAML2 元数据。
CAS 配置目录中提供了以下设置和属性:
必填
自选
Hibernate 和 JDBC
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.saml[0].metadata.service-provider.jdbc.driver-class= 用于连接到数据库的 JDBC 驱动程序。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlServiceProviderMetadataJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.jdbc.password= 数据库连接密码。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlServiceProviderMetadataJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.jdbc.table-name= 数据库中保存 SAML2 服务提供商元数据的表名。表结构和列必须事先创建并存在,并且必须与以下 SQL 语句匹配,expectedadjustments 取决于数据库类型、驱动程序和方言: CREATE TABLE sp_metadata (entityId VARCHAR(512),元数据 TEXT) org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlServiceProviderMetadataJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.jdbc.url= 数据库连接 URL。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlServiceProviderMetadataJdbcProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.jdbc.user= 数据库用户必须具有足够的权限,以便能够在需要时处理架构更改和更新。 org.apereo.cas.configuration.model.support.pac4j.saml.Pac4jSamlServiceProviderMetadataJdbcProperties. 如何配置此属性? |
显示 1 到 5 个条目中的 5 个
上一页1下一页
需要创建表结构和架构,并且必须在 CAS 启动之前存在,并且应按照以下 SQL 语句进行建模:
1 | CREATE TABLE <table-name> (entityId VARCHAR(512), metadata TEXT) |
-
-
-
-
- MongoDb数据库
- SAML2 委托身份验证 - MongoDb 服务提供商元数据
- MongoDb数据库
-
-
-
作为 SAML2 服务提供商的 CAS 的 SAML2 元数据也可以在 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-mongo-core"} |
功能激活
要激活此功能,必须打开以下功能开关:
1 | CasFeatureModule.DelegatedAuthentication.saml-mongodb.enabled=true |
要了解有关配置功能切换的更多信息,请参阅此页面。
最后,请确保您已在 CAS 设置中指定了一个集合名称,该名称最终将容纳生成的 SAML2 元数据。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.saml[0].metadata.service-provider.mongo.client-uri= mongodb 实例的连接 URI。这通常采用 mongodb://user:psw@ds135522.somewhere.com:35522/db 的形式。如果未指定,将回退到其他单个设置。如果指定,则接管所有其他设置(如果适用)。 org.apereo.cas.configuration.model.support.mongo.SingleCollectionMongoDbProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.mongo.collection= 要获取和/或创建的 MongoDb 数据库集合名称。 org.apereo.cas.configuration.model.support.mongo.SingleCollectionMongoDbProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.mongo.database-name= MongoDb 数据库实例名称。 org.apereo.cas.configuration.model.support.mongo.SingleCollectionMongoDbProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.mongo.host= 用于身份验证的 MongoDb 数据库主机。可以定义多个主机地址,用逗号分隔。如果定义了多个主机,则假定每个主机也包含端口(如果有)。否则,配置可能会回退到定义的端口。 org.apereo.cas.configuration.model.support.mongo.SingleCollectionMongoDbProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.mongo.password= 用于身份验证的 MongoDb 数据库密码。 org.apereo.cas.configuration.model.support.mongo.SingleCollectionMongoDbProperties. 如何配置此属性? |
显示 1 到 5 的 7 个条目
上一页12下一页
-
-
-
-
- Amazon S3
- SAML2 委托身份验证 - Amazon S3 服务提供商元数据
- Amazon S3
-
-
-
作为 SAML2 服务提供商的 CAS 的 SAML2 元数据也可以在 Amazon S3 存储桶内进行管理。默认情况下,会自动创建一个存储桶,该存储桶能够为每个服务提供商和元数据实体存储不同的对象。
要激活此功能,您需要首先在覆盖中包含以下模块:
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-aws"} |
功能激活
要激活此功能,必须打开以下功能开关:
1 | CasFeatureModule.DelegatedAuthentication.saml-s3.enabled=true |
要了解有关配置功能切换的更多信息,请参阅此页面。
CAS 配置目录中提供了以下设置和属性:
必填
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.pac4j.saml[0].metadata.service-provider.amazon-s3.credential-access-key= 使用 AWS 提供的访问密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.aws.BaseAmazonWebServicesProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.amazon-s3.credential-secret-key= 使用 AWS 提供的密钥进行身份验证。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.support.aws.BaseAmazonWebServicesProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.amazon-s3.endpoint= AWS 自定义终端节点。 org.apereo.cas.configuration.model.support.aws.BaseAmazonWebServicesProperties. 如何配置此属性? |
· cas.authn.pac4j.saml[0].metadata.service-provider.amazon-s3.region= 使用的 AWS 区域。 org.apereo.cas.configuration.model.support.aws.BaseAmazonWebServicesProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
- 发现
- SAML2 委托身份验证 - 身份提供商发现服务
- 发现
-
-
注意
使用身份提供商发现需要提供委托身份验证。此功能不能单独用作独立的发现服务。
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-saml-idp-discovery"} |
身份提供商发现允许 CAS 嵌入和提供发现服务,作为委托身份验证的一部分。在用于委托身份验证的 CAS 配置中配置的 SAML2 身份提供程序将作为发现选项显示。
CAS 还能够直接使用多个 JSON 源,其中包含有关可用身份提供商的发现元数据。发现 JSON 源可以从 URL(即由 Shibboleth 服务提供商公开)获取,也可以直接作为具有以下结构的 JSON 文件使用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [{ "entityID": "https://idp.example.net/idp/saml", "DisplayNames": [{ "value": "Example.net", "lang": "en" }], "Descriptions": [{ "value": "An identity provider for the people, by the people.", "lang": "en" }], "Logos": [{ "value": "https://example.net/images/logo.png", "height": "90", "width": "62" }]}] |
以下终端节点可用:
端点 | 描述 |
/idp/discovery | 身份提供商发现登录页面。 |
/idp/discovery/feed | 身份提供商发现 JSON 源。 |
/idp/discovery/redirect | 返回终端节点,让 CAS 在选择后调用身份提供程序。 |
应用程序可以通过 [cas-server-prefix]/idp/discovery 直接调用发现服务。也可以使用发现协议通过 [cas-server-prefix]/idp/discovery?entityID=[service-provider-entity-id]&return=[cas-server-prefix]/idp/discovery/redirect 调用发现服务。其他参数可以作为return URL 的一部分包含在内,并且它们都必须进行编码。
CAS 服务器和 ADFS 之间的集成将用户身份验证从 CAS 服务器委托给 ADFS,从而使 CAS 服务器成为 WS 联合身份验证客户端。从 ADFS 发布的声明将作为 CAS 服务器的属性提供,并扩展到 CAS 客户端。
记得
此处描述的功能允许 CAS 将 ADFS 用作外部身份提供程序。如果您希望执行相反的操作,允许 ADFS 成为 CAS 客户端并使用 CAS 作为身份提供程序,则可以利用 CAS 中的 SAML2 支持作为一个集成选项。
通过在 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-wsfederation-webflow"} |
您可能还需要在 CAS 覆盖中声明以下存储库,以便能够解析依赖项:
1 2 3 4 5 6 | repositories { maven { mavenContent { releasesOnly() } url "https://build.shibboleth.net/maven/releases/" }} |
JCE 要求
确保在 CAS 使用的 Java 环境中安装了正确的 JCE 捆绑包是安全的,尤其是在您需要使用 ADFS 颁发的加密负载时。请务必为您的 Java 版本选择正确的 JCE 版本。可以通过 java -version 命令检测 Java 版本。
-
-
-
-
- WsFed 配置
-
-
-
调整并提供 ADFS 实例的设置,并确保您已获取 ADFS 签名证书,并在运行时可以解析的位置将其提供给 CAS。
CAS 配置目录中提供了以下设置和属性:
必填
自选
签名和加密
Groovy 脚本
主体转换
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。
Show entries
搜索:
· cas.authn.wsfed[0].attribute-mutator-script.location= 在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:org.apereo.cas.util.io.PathWatcherService。 org.apereo.cas.configuration.model.SpringResourceProperties. 如何配置此属性? |
· cas.authn.wsfed[0].cookie.crypto.encryption.key= 加密密钥是一个 JWT,其长度由加密密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.EncryptionJwtCryptoProperties. 如何配置此属性? |
· cas.authn.wsfed[0].cookie.crypto.signing.key= 签名密钥是一个 JWT,其长度由签名密钥大小设置定义。 此设置支持 Spring 表达式语言。 org.apereo.cas.configuration.model.core.util.SigningJwtCryptoProperties. 如何配置此属性? |
· cas.authn.wsfed[0].id= 此 wsfed 配置的内部标识符。如果未定义,则标识符将由 CAS 本身自动生成。如果在 clustereddeployment 中定义了多个 CAS 服务器,则必须在配置中静态定义此标识符。 org.apereo.cas.configuration.model.support.wsfed.WsFederationDelegationProperties. 如何配置此属性? |
· cas.authn.wsfed[0].identity-attribute=upn 从断言中提取并用于构建 CAS 委托人 ID 的属性。 org.apereo.cas.configuration.model.support.wsfed.WsFederationDelegationProperties. 如何配置此属性? |
显示 1 到 5 的 10 个条目
上一页12下一页
-
-
-
-
- 签名断言
-
-
-
CAS 能够使用通过 CAS 设置定义的专用证书文件来确定断言签名的有效性。证书文件和资源可以静态定义为可供 CAS 加载和使用的文件系统资源,或者签名资源可以指向 ADFS 联合元数据(作为 URL 或 XML 文件)。使用联合元数据时,签名证书是从标记为签名的 IDPSSODescriptor 密钥描述符中提取的。
-
-
-
-
- 加密断言
-
-
-
CAS 能够自动解密 ADFS 颁发的 SAML 断言。为此,您首先需要生成一个私有/公共密钥对:
1 2 3 4 5 6 7 | openssl genrsa -out private.key 1024 openssl rsa -pubout -in private.key -out public.key -inform PEM -outform DER openssl pkcs8 -topk8 -inform PEM -outform DER -nocrypt -in private.key -out private.p8 openssl req -new -x509 -key private.key -out x509.pem -days 365 # convert the X509 certificate to DER format openssl x509 -outform der -in x509.pem -out certificate.crt |
配置 CAS 以引用密钥对,并在 ADFS 中配置信赖方信任设置以使用 certificate.crt 文件进行加密。
-
-
-
-
- 修改 ADFS 声明
-
-
-
WsFed 配置可以选择允许您操作来自 ADFS 的声明,但在将其插入 CAS 用户主体之前。属性的操作是使用属性 mutator 进行的,其中其逻辑可以在 Groovy 脚本中实现,并且通过设置将 path教给 CAS。
该脚本可以采用以下形式:
1 2 3 4 5 6 7 8 9 | import org.apereo.cas.*import java.util.*import org.apereo.cas.authentication.* Map run(final Object... args) { def (attributes,logger) = args logger.warn("Mutating attributes {}", attributes) return [upn: ["CASUser"]]} |
传递给脚本的参数如下:
参数 | 描述 |
attributes | ADFS 提供的属性的当前 Map。 |
logger | 负责发出日志消息的对象,例如 logger.info(...) |
请注意,脚本的执行结果必须确保将属性收集到 Map中,其中属性名称(键)是简单的 String,并且属性值将转换为集合。
要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。
-
-
-
-
- 处理 CAS 注销
-
-
-
可选步骤是 casLogoutView.html 可以修改以放置指向 ADFS 注销页面的链接。
1 | <a href="https://adfs.example.org/adfs/ls/?wa=wsignout1.0">Logout</a> |
或者,您可以指示 CAS 在执行注销操作后重定向到上述端点。
CAS 配置目录中提供了以下设置和属性:
自选
笔记
下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。
Show entries
搜索:
· cas.logout.confirm-logout=false 注销之前,允许在 Web 界面上确认选项。 org.apereo.cas.configuration.model.core.logout.LogoutProperties. 如何配置此属性? |
· cas.logout.follow-service-redirects=false 是否应允许 CAS 在注销后重定向到备用位置。 org.apereo.cas.configuration.model.core.logout.LogoutProperties. 如何配置此属性? |
· cas.logout.redirect-parameter= 在此处,将指示 CAS 在注销后应重定向到的目标目标,并按您选择的参数名称提取。如果未指定,则默认值将用作 service。 org.apereo.cas.configuration.model.core.logout.LogoutProperties. 如何配置此属性? |
· cas.logout.redirect-url= CAS 必须在所有注销操作完成后立即重定向到的 URL。在 CAS 充当代理并需要重定向到外部身份提供商的注销端点以删除会话等情况下,通常很有用。 org.apereo.cas.configuration.model.core.logout.LogoutProperties. 如何配置此属性? |
显示 1 到 4 的 4 个条目
上一页1下一页
-
-
-
-
- 每服务信赖方 ID
-
-
-
要为每个服务定义指定信赖方标识符,请调整 serviceregistry 以匹配以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 | { "@class" : "org.apereo.cas.services.CasRegisteredService", "serviceId" : "^https://.+", "name" : "sample service", "id" : 100, "properties" : { "@class" : "java.util.HashMap", "wsfed.relyingPartyIdentifier" : { "@class" : "org.apereo.cas.services.DefaultRegisteredServiceProperty", "values" : [ "java.util.HashSet", [ "custom-identifier" ] ] } }} |
CAS 为各种模块和功能提供并识别以下属性:
Show entries
搜索:
名字 | 默认值 | 类型 | 群 |
wsfed.relyingPartyIdentifier | STRING | DELEGATED_AUTHN_WSFED |
显示 1 到 1 的 1 个条目
上一页1下一页
-
-
-
-
- 故障排除
-
-
-
请注意 CAS 和 ADFS 服务器之间的时钟漂移问题。响应的验证失败确实会显示在日志中,并且请求会再次路由回 ADFS,从而导致重定向循环。
要启用其他日志记录,请配置 log4j 配置文件以添加以下级别:
1 2 3 4 5 6 | ...<Logger name="org.apereo.cas.support.wsfederation" level="debug" additivity="false"> <AppenderRef ref="casConsole"/> <AppenderRef ref="casFile"/></Logger> ... |