Keycloak是什么?
keycloak是一个开源的,面向现代应用程序和服务的身份认证和访问控制解决方案。它使得应用和服务获得安全性变得容易,写很少的代码甚至零代码。
Keycloak特性
多协议支持支持OpenID连接、OAuth 2.0和SAML 2.0。
SSO单点登录
Keycloak能够完全支持单点登录(Single Sign-On)与单点登出(Single Sign-Out)。
管理控制台
Keycloak提供了基于Web的GUI,您可以按需配置各种实例。
用户身份和访问
Keycloak可以作为一个独立的用户身份和访问管理器,以便我们创建用户数据库,自定义角色和用户组。据此,我们可以基于预定义的角色,在应用程序的内部进行相关安全设置,以实现对于用户身份的验证。
外部身份标识源的同步
如果您的用户目前已经具有某种类型的用户数据库,那么Keycloak则能够与此类数据库进行同步。默认情况下,它支持LDAP和活动目录(AD)。当然,您也可以使用Keycloak的用户存储API,为任何用户创建自定义的可扩展数据库。值得注意的是,在这种组合方案中,某些必要的数据可能无法获取到Keycloak的齐全功能,因此您最好在实施前进行全面调研。
身份代理
Keycloak可以作为用户和一些外部身份提供者之间代理。我们可以通过Keycloak的管理面板,来编辑两侧对应关系的列表。
社交身份提供者
Keycloak内置并支持Google、Twitter、Facebook、以及Stack Overflow等社交身份提供者。当然,这需要您在管理面板中进行手动配置。我们可以在Keycloak的相关文档中,查询到其支持的、社交身份提供者的全量列表,以及分别对应的配置手册。
页面定制
Keycloak允许您定制所有需要显示给用户看的页面。由于这些页面是.ftl格式的,因此您可以使用经典的HTML标记和CSS风格,来统一展示应用程序和公司品牌的风格。您甚至可以通过定制JS脚本,来个性化各种原本受限的页面。
一句话,Keycloak是一个强大的开源用户授权登录解决方案。
网友回复