9.3. 常规配置


身份代理配置的基础是身份提供程序(IDP)。红帽构建的 Keycloak 为每个域创建身份提供程序,并默认为每个应用程序启用它们。在登录应用程序时,来自一个域的用户可以使用任何注册的身份提供程序。

流程

  1. 在菜单中,单击 Identity Providers

    身份供应商

    Identity Providers

  2. 选择身份提供程序。Red Hat build of Keycloak 显示您选择的身份提供程序的配置页面。

    添加Facebook 身份提供程序

    Add Facebook Identity Provider

    当您配置身份提供程序时,身份提供程序会出现在 Red Hat build of Keycloak 登录页面中作为选项。您可以在每个身份提供程序的登录屏幕中放置自定义图标。如需更多信息,请参阅自定义图标

    IDP 登录页面

    identity provider login page

    社交
    社交供应商在您的域中启用社交身份验证。在红帽构建的 Keycloak 中,用户可以使用社交网络帐户登录到您的应用程序。支持的供应商包括 Twitter、Facebook、Google、LinkedIn、Instagram、Microsoft、PayPal、Opensher、GitHub、GitLab、Bitbucket 和 Stack Overflow。
    基于协议
    基于协议的供应商依赖特定的协议来验证和授权用户。使用这些供应商,您可以连接到符合特定协议的任何身份提供程序。红帽构建的 Keycloak 支持 SAML v2.0 和 OpenID Connect v1.0 协议。您可以根据这些开放标准配置并代理任何身份提供程序。

虽然每种类型的身份提供程序都有自己的配置选项,但所有共享一个通用配置。可用的配置选项:

表 9.1. 常见配置
Configuration描述

Alias

alias 是身份提供程序的唯一标识符,引用内部身份提供程序。Red Hat build of Keycloak 使用别名为需要重定向 URI 或回调 URL 的 OpenID Connect 协议构建重定向 URI,以便与身份提供程序通信。所有身份提供程序都必须有别名。别名示例包括 facebookgoogleidp.acme.com

Enabled

切换提供程序 ON 或 OFF。

在登录页中隐藏

ON 时,红帽构建的 Keycloak 不会在登录页面上将这个供应商显示为登录选项。客户端可以通过在 URL 中使用 'kc_idp_hint' 参数来请求登录,以请求此提供程序。

仅限客户链接

ON 时,红帽构建的 Keycloak 会连接带有此供应商的现有帐户。此供应商无法登录,Red Hat build of Keycloak 不会在登录页面中作为选项显示这个供应商。

存储令牌

ON 时,红帽构建的 Keycloak 存储来自身份提供程序的令牌。

存储的令牌可读

ON 时,用户可以检索存储的身份提供商令牌。此操作也适用于 代理 客户端级别的角色 读取令牌

信任电子邮件

ON 时,红帽构建的 Keycloak 信任来自身份提供程序的电子邮件地址。如果域需要电子邮件验证,则从此身份提供程序登录的用户不需要执行电子邮件验证过程。

GUI 顺序

登录页面中可用身份提供程序的排序顺序。

验证基本声明

ON 时,身份提供程序发布的 ID 令牌必须具有特定的声明,否则用户无法通过此代理进行身份验证

基本声明

验证基本 声明为 ON 时,要过滤的 JWT 令牌声明的名称(匹配区分大小写)

基本声明值

验证基本 声明为 ON 时,要匹配的 JWT 令牌声明的值(支持正则表达式格式)

第一个登录流

当用户使用此身份提供程序首次登录到红帽构建的 Keycloak 时,Red Hat build of Keycloak 会触发身份验证流程。

后登录流

当用户使用外部身份提供程序登录时,Red Hat build of Keycloak 会触发身份验证流程。

同步模式

通过映射程序从身份提供程序更新用户信息的策略。当选择 旧的 时,红帽构建的 Keycloak 会使用当前的行为。导入 不会更新用户数据,并尽可能 强制更新 用户数据。如需更多信息 ,请参阅身份提供程序映射程序

区分大小写的用户名

如果启用,则身份供应商的原始用户名保存在 federating 用户时。否则,身份提供程序中的用户名是小写的,如果区分大小写,则可能与原始值不匹配。此设置仅影响与服务器中的用户名作为用户名关联的用户名。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.