OpenJDK

在裸机上开始使用 Keycloak

开始之前

确保您的机器或容器平台能够为您的 Keycloak 使用提供足够的内存和 CPU。有关如何开始进行生产规模调整的更多信息,请参阅CPU 和内存资源规模调整的概念

确保您已安装OpenJDK 21

下载 Keycloak

从 Keycloak 网站下载并解压缩keycloak-26.0.5.zip

解压缩此文件后,您应该有一个名为 keycloak-26.0.5 的目录。

启动 Keycloak

  1. 从终端打开 keycloak-26.0.5 目录。

  2. 输入以下命令

    • 在 Linux 上运行

      bin/kc.sh start-dev
    • 在 Windows 上运行

      bin\kc.bat start-dev

使用 start-dev 选项,您将在开发模式下启动 Keycloak。在这种模式下,您可以首次尝试 Keycloak 以快速启动并运行它。此模式为开发人员提供了方便的默认值,例如开发新的 Keycloak 主题。

创建管理员用户

Keycloak 没有默认的管理员用户。您需要在启动 Keycloak 之前创建一个管理员用户。

  1. 打开http://127.0.0.1:8080/

  2. 使用您首选的用户名和密码填写表单。

登录管理控制台

  1. 转到Keycloak 管理控制台

  2. 使用您之前创建的用户名和密码登录。

创建领域

Keycloak 中的领域相当于租户。每个领域允许管理员创建应用程序和用户的隔离组。最初,Keycloak 包含一个名为 master 的单一领域。仅将此领域用于管理 Keycloak,而不要用于管理任何应用程序。

使用这些步骤创建第一个领域。

  1. 打开Keycloak 管理控制台

  2. 单击 master realm 旁边的 Keycloak,然后单击 创建领域

  3. 领域名称 字段中输入 myrealm

  4. 单击 创建

Add realm

创建用户

最初,领域没有用户。使用这些步骤创建用户

  1. 验证您是否仍在 myrealm 领域中,该领域显示在 管理 一词的上方。

  2. 单击左侧菜单中的 用户

  3. 单击 创建新用户

  4. 使用以下值填写表单

    • 用户名: myuser

    • : 任何姓

    • : 任何名

  5. 单击 创建

Create user

此用户需要密码才能登录。要设置初始密码

  1. 单击页面顶部的 凭据

  2. 使用密码填写 设置密码 表单。

  3. 临时 切换到 关闭,以便用户不需要在首次登录时更新此密码。

Set password

登录账户控制台

您现在可以登录账户控制台以验证此用户是否配置正确。

  1. 打开Keycloak 账户控制台

  2. 使用您之前创建的 myuser 和密码登录。

作为账户控制台中的用户,您可以管理您的账户,包括修改您的个人资料、添加双因素身份验证以及包含身份提供者账户。

Keycloak Account Console

保护第一个应用程序

要保护第一个应用程序,您需要先将应用程序注册到您的 Keycloak 实例中

  1. 打开Keycloak 管理控制台

  2. 单击左上角的 master,然后单击 myrealm

  3. 单击 客户端

  4. 单击 创建客户端

  5. 使用以下值填写表单

    • 客户端类型: OpenID Connect

    • 客户端 ID: myclient

      Add Client
  6. 单击 下一步

  7. 确认 标准流程 已启用。

  8. 单击 下一步

  9. 登录设置 下进行以下更改。

    • 有效的重定向 URI 设置为 http://keycloak.java.net.cn/app/*

    • 网络来源 设置为 http://keycloak.java.net.cn

  10. 单击 保存

Update Client

要确认客户端已成功创建,您可以使用Keycloak 网站 上的 SPA 测试应用程序。

  1. 打开http://keycloak.java.net.cn/app/

  2. 单击 保存 以使用默认配置。

  3. 单击 登录 以使用您之前启动的 Keycloak 服务器对该应用程序进行身份验证。

下一步

在生产环境中运行 Keycloak 之前,请考虑以下操作

  • 切换到生产就绪的数据库,例如 PostgreSQL。

  • 使用您自己的证书配置 SSL。

  • 将管理员密码切换到更安全的密码。

有关更多信息,请参阅服务器指南

在本页上