准备需要:
docker最新版,camunda官方建议使用容器且最好能使用k8s,而且jar包启动失败时不能停止
mysql8.0+,keycloak默认使用postgresql,我不会
提前启动好其他组件,es,tasklis,operate,zeebe,偷个懒,我使用的jar包运行,也可以容器
组件下载地址,版本8.3.4
因为容器通信的问题(应该是通信/网络的问题),我使用了局域网ip,而非localhost
identity是什么?
Identity是Camunda8部署负责身份验证和授权的标识组件,可以管理的有:
- Applications
- APIs
- Permissions
- Roles
Identity不是comunda8必要的6个组件(官网列出来的,但是如果使用Self-Managed也那就是8个组件),我搭建身份认证系统是因为使用user-service创建表单时看到了用户授权的字段
什么是keycloak?
keycloak是一款开源的功能丰富、易用且灵活的身份和访问管理软件,为开发人员提供了快速集成身份认证、授权和用户管理的解决方案
特点和功能
- 单点登录(Single Sign-On,SSO):Keycloak支持SSO,用户只需登录一次,即可访问多个通过Keycloak保护的应用程序。
- 集中式身份认证和授权:Keycloak充当一个认证和授权服务器,负责在不同应用程序间验证用户身份和授权访问权限。
- 多种身份验证方式:Keycloak支持多种身份验证方式,如用户名/密码、LDAP、Active Directory、社交登录(Google、Facebook等)、OpenID Connect等。
- 用户管理和组织结构:Keycloak提供了用户管理和组织结构管理功能,包括用户创建、更新、删除,以及组织结构的定义和管理。
- 多因素身份验证(Multi-Factor Authentication,MFA):Keycloak支持多因素身份验证,增加了额外的安全层,如短信验证码、电子邮件验证码等。
- 客户端适配器:Keycloak提供了各种客户端适配器,使得应用程序能够与Keycloak进行无缝集成,实现身份认证和授权。
- 客户端角色和权限管理:Keycloak允许定义和管理客户端角色和权限,精确控制用户对特定资源的访问权限。
- 基于标准的协议支持:Keycloak支持OpenID Connect、OAuth 2.0、SAML2.0等开放标准协议,与其他标准兼容的应用程序进行集成。