搜索

3.8. 控制登录选项

download PDF

红帽构建的 Keycloak 包括几个内置登录页面功能。

3.8.1. 启用忘记密码

如果启用 Forgot 密码,如果用户忘记了其密码或丢失其 OTP 生成器,用户可以重置其登录凭据。

流程

  1. 点菜单中的 Realm settings
  2. Login 选项卡。

    Login 标签页

    Login Tab

  3. Forgot 密码 切换为 ON

    忘记密码? 链接会显示在您的登录页面中。

    忘记密码链接

    Forgot Password Link

  4. Email 选项卡中指定 HostFrom,以便红帽构建的 Keycloak 能够发送重置电子邮件。
  5. 单击此链接,使用户可以输入其用户名或电子邮件地址,并收到一封电子邮件,以重置其凭据。

    忘记密码页面

    Forgot Password Page

电子邮件中发送的文本可以配置。如需更多信息,请参阅 服务器开发人员指南

当用户点击电子邮件链接时,红帽构建的 Keycloak 会要求他们更新其密码,如果他们设置了 OTP 生成器,红帽构建的 Keycloak 会要求他们重新配置 OTP 生成器。根据您的机构的安全要求,您可能不希望用户通过电子邮件重置 OTP 生成器。

要更改此行为,请执行以下步骤:

流程

  1. 点菜单中的 Authentication
  2. Flows 选项卡。
  3. 选择 Reset Credentials 流。

    重置凭证流

    Reset Credentials Flow

    如果您不想重置 OTP,请将 Reset - Conditional OTP 子流要求设置为 Disabled

  4. 点菜单中的 Authentication
  5. Required actions 选项卡。
  6. 确保启用了 Update Password

    所需操作

    Required Actions

3.8.2. 启用 Remember Me

登录的用户关闭其浏览器会破坏其会话,并且该用户必须再次登录。如果该用户在登录时点 Remember Me 复选框,您可以设置 Red Hat build of Keycloak 来保持用户的登录会话打开。此操作将登录 Cookie 从仅会话 Cookie 变为持久性 Cookie。

流程

  1. 点菜单中的 Realm settings
  2. Login 选项卡。
  3. Remember Me 开关切换为 On

    Login 标签页

    Login Tab Remember Me

    在保存了此设置后,remember me 复选框显示在域的登录页面上。

    请记住我

    Remember Me

3.8.3. ACR 到身份验证级别(LoA)映射

在域的登录设置中,您可以定义哪个 Authentication Context Class Reference (ACR) 值映射到哪个级别的 身份验证(LoA)。ACR 可以是任意值,而 LoA 必须是数字。acr 声明可以在 OIDC 请求发送的声明cr_values 参数中请求,它也包含在访问令牌和 ID 令牌中。映射的数字在身份验证流条件中使用。

如果特定客户端需要使用与 realm 不同的值,则映射也可以在客户端级别指定。但是,最佳实践是遵循域映射。

ACR to LoA mapping

详情请查看 步骤验证和 官方 OIDC 规格

3.8.4. 更新电子邮件工作流(UpdateEmail)

使用这个工作流,用户必须使用 UPDATE_EMAIL 操作来更改自己的电子邮件地址。

操作与单个电子邮件输入表相关联。如果域禁用了电子邮件验证,则此操作将允许在不验证的情况下更新电子邮件。如果域启用了电子邮件验证,则该操作会将电子邮件更新操作令牌发送到新的电子邮件地址,而不更改帐户电子邮件。只有操作令牌触发后才会完成电子邮件更新。

应用程序可以通过使用 UPDATE_EMAIL 作为 AIA (应用程序初始操作)来将其用户发送到电子邮件更新表单。

注意

UpdateEmail 是 技术预览,并不被支持。此功能默认为禁用。

使用 --features=preview--features=update-email启动服务器

注意

如果您启用此功能,且您要从以前的版本迁移,请在域中启用 Update Email required 操作。否则,用户无法更新其电子邮件地址。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.