3.8. Red Hat Single Sign-On 客户端


客户端是请求用户身份验证的红帽单点登录实体。客户端可以是请求 Red Hat Single Sign-On 的应用程序来提供用户身份验证,或者可以发出访问令牌的请求来代表经过身份验证的用户启动服务。如需更多信息,请参阅 Red Hat Single Sign-On 文档中的管理客户端一章

Red Hat Single Sign-On 提供 OpenID-ConnectSAML 客户端协议。

OpenID-Connect 是首选协议,使用三种不同的访问类型:

  • 公共 :对于直接在浏览器中运行的 JavaScript 应用程序,无需服务器配置。
  • 机密 :用于服务器端客户端(如 EAP Web 应用)需要执行浏览器登录。
  • 仅限 bearer-only :对允许 bearer 令牌请求的后端服务使用。

需要在应用程序 web.xml 文件的 &lt ;auth-method > 键中指定客户端类型。此文件在部署时由镜像读取。将 < auth-method> 元素的值设置为:

  • 适用于 OpenID Connect 客户端的 KEYCLOAK
  • KEYCLOAK-SAML 用于 SAML 客户端。

以下是用来配置 OIDC 客户端的应用程序 web.xml 的示例片段:

...
<login-config>
        <auth-method>KEYCLOAK</auth-method>
</login-config>
...
Copy to Clipboard Toggle word wrap

客户端应用程序可使用特定于 eap64-sso-s2ieap71-sso-s2i、Datavirt63-secure-s2i 和 datavirt63-secure-s2i 的变量传递的凭证自动注册到 Red Hat Single Sign-On 域。

另外,您可以通过配置和导出 Red Hat Single Sign-On 客户端适配器来手动注册客户端应用程序,并将其包括在客户端应用程序配置中。

3.8.1.1. 自动 Red Hat Single Sign-On 客户端注册

自动 Red Hat Single Sign-On 客户端注册是由特定于 eap64-sso-s2i、 eap71-sso-s2i datavirt63-secure-s2i 模板的单点登录环境变量来确定。然后,模板中提供的 Red Hat Single Sign-On 凭证用于在部署客户端应用程序期间将客户端注册到 Red Hat Sign-On realm。

Red Hat Single Sign-On 环境变量包括在 eap64-sso-s2ieap71-sso-s2idatavirt63-secure-s2i 模板有:

Expand
变量Description

HOSTNAME_HTTP

http 服务路由的自定义主机名。保留 <application-name>.<project>.<default-domain-suffix> 的默认主机名的空白

HOSTNAME_HTTPS

https 服务路由的自定义主机名。保留 <application-name>.<project>.<default-domain-suffix> 的默认主机名的空白

SSO_URL

Red Hat Single Sign-On web 服务器身份验证地址:https://secure-sso- <project-name> . &lt;hostname>/auth

SSO_REALM

为此流程创建的 Red Hat Single Sign-On 域。

SSO_USERNAME

realm 管理用户 的名称。

SSO_PASSWORD

用户的密码。

SSO_PUBLIC_KEY

域生成的公钥。它位于 Red Hat Single Sign-On 控制台的 Realm SettingsKeys 选项卡中。

SSO_BEARER_ONLY

如果设置为 true,则 OpenID Connect 客户端以 bearer-only 的形式注册。

SSO_ENABLE_CORS

如果设置为 true,则 Red Hat Single Sign-On adapter 启用 Cross-Origin Resource Sharing (CORS)。

如果 Red Hat Single Sign-On 客户端使用 SAML 协议,则需要配置以下附加变量:

Expand
变量Description

SSO_SAML_KEYSTORE_SECRET

用于访问 SAML 密钥存储的机密。默认值为 sso-app-secret

SSO_SAML_KEYSTORE

SAML 密钥存储机密中的密钥存储文件名.默认为 keystore.jks

SSO_SAML_KEYSTORE_PASSWORD

SAML 的密钥存储密码。默认为 mykeystorepass

SSO_SAML_CERTIFICATE_NAME

用于 SAML 的键/证书的别名。默认值为 jboss

请参阅 工作流示例:在 Red Hat Single Sign-On with OpenID-Connect Client 的 Red Hat Single Sign-On 中自动注册 EAP 应用程序,以获取使用 OpenID-Connect 客户端自动客户端注册方法的端到端示例。

3.8.1.2. 手动 Red Hat Single Sign-On 客户端注册

手动 Red Hat Single Sign-On 客户端注册是通过客户端应用程序 ... /configuration/ 目录中是否存在部署文件来确定。这些文件从 Red Hat Single Sign-On Web 控制台中的客户端适配器导出。此文件的名称与 OpenID-Connect 和 SAML 客户端不同:

OpenID-Connect

../configuration/secure-deployments

SAML

../configuration/secure-saml-deployments

在部署应用程序时,这些文件被复制到 standalone-openshift.xml 中的 Red Hat Single Sign-On 适配器配置部分。

有两种将 Red Hat Single Sign-On 适配器配置传递给客户端应用程序的方法:

  • 修改部署文件,使其包含 Red Hat Single Sign-On 适配器配置,以便在部署时将其包含在 standalone-openshift.xml 文件中,或者
  • 在客户端应用程序的 ../WEB-INF 目录中,手动包含 OpenID-Connect keycloak.json 文件,或将 SAML keycloak-saml.xml 文件包含。

请参阅 工作流示例: 手动配置应用程序以使用 Red Hat Single Sign-On 身份验证,使用 SAML 客户端作为手动红帽单点登录客户端注册方法的端到端示例。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat