Keycloak是RedHat的开源身份和访问管理解决方案,本文介绍如何在我们的微服务安全模块中使用keycloak,特别是基于SpringBoot的微服务。
Keycloak
它提供了身份和访问管理的有用功能:
- 单点登录(SSO),身份代理和社交登录
- 用户联合
- 客户端适配器
- 管理控制台和帐户管理控制台。
虽然安全性是任何应用程序的一个重要方面,但安全性的实现部分是复杂和困难的。通常,它在代码中经常被忽略或执行不当和干扰。
开发人员需要安全服务器,允许外包和授权认证和授权方面。他们想要一种能够自动开发应用程序安全功能的工具,这通常是一项复杂的任务。
Keycloak是最有前途的开源IDAM(身份和访问管理)服务器之一,它与任何技术无关,可以在自己的基础架构中轻松部署/适应。
Keycloak尝试解决基于REST的Web应用程序和Web服务的单点登录。Keycloak的最终目标是使安全性足够简单,以便作为服务和应用程序中的安全模块插入。安全功能很混乱,当开发人员手动为自己编写时,它会变得更危险,更容易出错。Keycloak通过提供开箱即用的安全功能帮助我们,并且可以根据任何组织的个性化需求轻松定制。
Keycloak可以帮助我们在应用程序中引入这些功能:
- 用于登录,注册,管理和帐户管理的可自定义用户界面
- 集成到现有LDAP和活动目录服务器
- 将身份验证委托给Twitter和Github等第三方身份提供商
安装:
有不同的方法来安装keycloak。最简单的是只需下载Keycloak,这是一种独立的安装模式,只需将其解压缩即可。你完成了!现在打开一个终端并转到解压缩的Keycloak服务器并导航到bin目录 - 然后只需运行以下命令:
./standalone.sh(bat)
安装完成后,打开浏览器并转到http:// localhost:8080 / auth。
默认情况下,Keycloak附带一个H2数据库,但如果你选择RDMS,你可以使用带有RDMS的Keycloak。
由于您是第一次运行服务器,因此您必须创建管理员用户。让我们创建一个管理员用户,其中“admin”作为用户名,“admin”作为密码。
创造一个新领域
在Keycloak中,领域是您定义客户端的地方。这意味着这些客户端是将由Keycloak保护的应用程序 - 可能是Web应用程序或Spring Boot。
注意:'Ma