Keycloak

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(版本)
(版本)
 
第37行: 第37行:
 
* 23 版本,Keycloak 预览支持 [https://fidoalliance.org/passkeys/ Passkeys]
 
* 23 版本,Keycloak 预览支持 [https://fidoalliance.org/passkeys/ Passkeys]
 
* 21 版本,正式支持 FIPS 140-2
 
* 21 版本,正式支持 FIPS 140-2
 +
* 21 版本,Keycloak 使用 [https://micrometer.io/ Micrometer] 进行指标,用于可观察性
 +
* 21 版本,[[HashiCorp]] Vault 不再受支持
 +
* 21 版本,为了增强安全性,[https://quay.io/repository/keycloak/keycloak?tab=info Keycloak 容器映像]现在基于 UBI9,而不是 UBI8。其次,我们已切换到 -micro,而之前使用的是 -minimal
 +
* 20 版本,WildFly 发行版已移除
 
Quarkus 是框架和运行时,而 WildFly 是 Java 应用服务器。这样新的发行版更快、更精简,并且配置起来更容易
 
Quarkus 是框架和运行时,而 WildFly 是 Java 应用服务器。这样新的发行版更快、更精简,并且配置起来更容易
  

2025年3月13日 (四) 06:22的最后版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Keycloak Thanks, Wikipedia.

Keycloak

Keycloak

目录

 [隐藏

[编辑] 简介

Quarkus

Keycloak 是一款开源的身份认证和访问控制管理的解决方案,使用 Java 开发,采用 Apache v2 许可证。

因为源自 WildFly Application Server (WildFly Elytron Security) 所以配置 Keycloak 的许多方面都围绕 WildFly 配置元素。

Keycloak 基于 WildFly 应用服务器及其子项目(Infinispan(用于缓存)和 Hibernate(用于持久性)之上构建,所以需要阅读它们的相关文档。

Keycloak WildFly (已废止) Distribution powered by WildFly

当前是 Keycloak Distribution powered by Quarkus

[编辑] 版本

Keycloak 发布说明

  • 从 26 版本开始,一些 Keycloak 客户端库将拥有独立于 Keycloak 服务器发布周期的发布周期。26.0.0 版本可能是最后一次客户端库与 Keycloak 服务器一起发布的版本。

比如:Java 管理客户端,Java 授权客户端,Java 策略执行程序

26 版本,现在可以使用特定选项运行 start 或 start-dev 命令来创建临时管理员帐户。此外,还引入了新的专用命令,允许用户轻松地重新获得管理员访问权限

  • 26 版本,java-keystore 密钥提供程序支持更多算法和保管库(Vaula)机密

java-keystore 密钥提供程序允许从外部 java 密钥库文件加载领域密钥,管理所有 Keycloak 算法。Keycloak 领域(realm)可以将任何密钥外部化为加密文件,而不会在数据库中存储敏感数据。

  • 26 版本,将序列化格式从 JBoss 序列化更改为 Infinispan Protostream,序列化是将 Java 对象转换为字节以在 Keycloak 服务器之间跨网络发送它们的进程
  • Keycloak 25 引入了 persistent-user-sessions 功能,在 Keycloak 26 中,此功能默认情况下处于启用状态。这意味着所有用户会话默认情况下都将持久化到数据库中,而不是以前仅将离线会话持久化到数据库中的行为。
  • 25 版本,Keycloak 现在支持 OpenJDK 21,OpenJDK 17 支持已弃用
  • 25 版本,管理控制台和账户控制台也已更新为使用 PatternFly 5 这是 Keycloak 用户界面基础设计系统的最新版本
  • 25 版本,Argon2 现在是 Keycloak 在非 FIPS 环境中使用的默认密码哈希算法。Argon2 是2015 年密码哈希竞赛的获胜者,并且是 OWASP 推荐的哈希算法。

Argon2 不符合 FIPS 140-2。因此,如果你在 FIPS 环境中,默认算法仍然是 PBKDF2

  • 25 版本,受支持和经过测试的数据库现在包括 PostgreSQL 16
  • 25 版本,对客户身份和访问管理 (CIAM) 和多租户的支持的预览功能,以解决企业对企业 (B2B) 和企业对企业对客户 (B2B2C) 的用例
  • Keycloak 从 17 版开始,默认的 Keycloak 发行版基于 Quarkus,而不是之前的 WildFly
  • 23 版本,Keycloak 预览支持 Passkeys
  • 21 版本,正式支持 FIPS 140-2
  • 21 版本,Keycloak 使用 Micrometer 进行指标,用于可观察性
  • 21 版本,HashiCorp Vault 不再受支持
  • 21 版本,为了增强安全性,Keycloak 容器映像现在基于 UBI9,而不是 UBI8。其次,我们已切换到 -micro,而之前使用的是 -minimal
  • 20 版本,WildFly 发行版已移除

Quarkus 是框架和运行时,而 WildFly 是 Java 应用服务器。这样新的发行版更快、更精简,并且配置起来更容易

[编辑] 功能

OpenID-Connect-OAuth20-and-SAML.png
  • 单点登录(SSO)
  • 支持的标准协议:OpenID Connect, OAuth 2.0 和 SAML 2.0
  • 集中管理:对管理员和用户
  • 适配器(Adapters):轻松保护各种应用和服务
  • 支持 LDAPActive Directory:连接已有的用户目录服务
  • 社交账号:轻松启用社交登录
  • 支持身份代理人(Identity Brokering):OpenID Connect or SAML 2.0 IdPs
  • 高性能:轻量、快速、可伸缩
  • 集群:可扩展性、可用性
  • 样式:自定义外观
  • 可扩展:用户可通过代码自定义
  • 密码策略:用户可自定义密码策略

[编辑] 指南

Keycloak中文

Quarkus

$ ./kc.sh build --db=postgres
$ conf/keycloak.conf
 db=postgres
 db-username=keycloak
 db-password=keycloak
 db-url=jdbc:postgresql://localhost/keycloak
 hostname=debian
$ ./kc.sh start-dev
http://debian:8080/

WildFly

$ cd keycloak-12.0.2/bin
$ ./standalone.sh  // 默认使用 H2 数据库
http://localhost:8080/auth/

Keycloak 支持的数据库

配置 MariaDB, MySQL

db=mariadb
db-username=keycloak
db-password=keycloak
db-url=jdbc:mariadb://localhost/keycloak

配置 PostgreSQL,修改 conf/keycloak.conf

db=postgres
db-username=keycloak
db-password=keycloak
db-url=jdbc:postgresql://localhost:5432/keycloak 

然后

bin/kc.[sh|bat] build
bin/kc.[sh|bat] start-dev 
bin/kc.[sh|bat] start --optimized

[编辑] 项目

Keycloak 使用和依赖的一些开源软件:

[编辑] 集成

[编辑] Authorization

PEP模式

整合、集成更多的授权、策略解决方案,如:User-Managed Access (UMA), Open Policy Agent

[编辑] 2FA

Keycloak 支持 FreeOTP

andOTP 也是很好的 2FA 选择

[编辑] Quarkus

Keycloak Quarkus extensions

  • keycloak-admin-client-common
  • keycloak-admin-rest-client
  • keycloak-admin-resteasy-client
  • keycloak-authorization

[编辑] Tomcat

部署 Keycloak in Tomcat, TomEE

可以考虑分发这样的版本,可以部署 Apache Tomcat, Jetty

[编辑] Jetty

[编辑] API

[编辑] Clojure

keycloak-clojure
Keycloak-plus-clojure.png

[编辑] SaaS

Keycloak as a Service

[编辑] 用户

[编辑] 用例

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱