FLOWABLE UI应用程序的新增功能(下)

FLOWABLE UI应用程序的新增功能(下)

 

可流动的用户

在继续之前,我们需要分配角色并将用户添加到组中。admin @ flowable用户将具有所有角色,并且是所有组的成员。其他用户将仅具有访问任务角色,并且是其相应组的成员。为此,请单击一个用户,然后转到“角色映射”。选择领域并添加它们。

 

为用户添加角色映射

将用户添加到组

这样,我们设置了Flowable Realm。您也可以使用此文件导入领域。您仍然必须添加用户并将其手动分配给角色/组,因为没有针对该角色的导出。让我们将应用程序配置为现在使用Keycloak。为此,您需要在Tomcat lib文件夹的application.properties中设置以下属性:

 

spring.security.oauth2.resourceserver.jwt.issuer-uri = http:// localhost:8081 / auth / realms / Flowable

spring.security.oauth2.client.registration.keycloak.client-id = flowable-ui

spring.security.oauth2.client.registration.keycloak.client-secret = <来自Keycloak的客户端密钥>

spring.security.oauth2.client.registration.keycloak.client-name =可流动的UI Keycloak

spring.security.oauth2.client.registration.keycloak.authorization-grant-type =授权码

spring.security.oauth2.client.provider.keycloak.issuer-uri = http:// localhost:8081 / auth / realms / Flowable

spring.security.oauth2.client.provider.keycloak.user-name-attribute =首选用户名

 

flowable.common.app.security.type = oauth2

flowable.common.app.security.oauth2.authorities-attribute = groups

flowable.common.app.security.oauth2.groups-attribute = userGroups

 

flowable.idm.app.keycloak.enabled = true

flowable.idm.app.keycloak.server = http:// localhost:8081 /

flowable.idm.app.keycloak.authentication-realm = master

flowable.idm.app.keycloak.authentication-user = admin

flowable.idm.app.keycloak.authentication-password = admin

flowable.idm.app.keycloak.realm =可流动

带有spring.security.oauth2前缀的属性是Spring Boot属性,它们将用于繁琐的Spring Security Client注册中心的配置。带有flowable.common.app.security前缀的属性用于配置Flowable UI应用程序属性的安全性。通过这些,我们将安全类型设置为“ oauth2”。我们想要使用用户信息中的“ groups”属性来映射Keycloak角色(Keycloak将角色存储在groups属性中),并且我们想要使用“ userGroups”属性为用户提取Groups(这将来自我们的自定义用户组映射器)。最后,带有flowable.idm.app.keycloak前缀的属性是IDM应用程序的属性,可以在其中配置Flowable Identity Service以使用Keycloak而不是数据库。

设置完成后,我们可以启动应用程序并转到http:// localhost:8080 / flowable -ui,我们将被重定向到Keycloak登录页面。在这里,我们可以使用我们的管理员用户(admin @ flowable)登录。登录成功后,我们将被重定向到Flowable UI。当我们以admin用户身份登录时,我们将看到所有应用程序。如果我们转到IDM应用程序,我们将看到Keycloak内的所有用户和组。

IDM App Keycloak用户

IDM App Keycloak组

如果现在以sales @ flowable用户注销并登录,我们将仅看到Task应用程序。Keycloak具有很多功能,可能我们没有使用所有可用的东西。我们非常乐意接受将改善Keycloak集成的贡献!

GITHUB

在上一节中,我们展示了如何与Keycloak集成。但是,我们的实现与Keycloak无关。因此,在本节中,我们将展示如何使用GitHub作为Identity来源来对Flowable UI应用程序进行身份验证。在Flowable端开始设置之前,我们需要创建自己的GitHub OAuth App。最好的方法是遵循GitHub上的本指南。创建GitHub应用程序后,就可以配置应用程序以使用它了。为此,您需要在Tomcat lib文件夹的application.properties文件中设置以下属性:

spring.security.oauth2.client.registration.github.client-id =

spring.security.oauth2.client.registration.github.client-secret =

flowable.common.app.security.type = oauth2

flowable.common.app.security.oauth2.default-authorities =访问任务

flowable.common.app.security.oauth2.default-groups = flowableUser

flowable.common.app.security.oauth2.full-name-attribute = name

flowable.common.app.security.oauth2.email-attribute =电子邮件

带有spring.security.oauth2前缀的属性是Spring Boot属性,它们将用于繁重的工作和Spring Security Client注册表的配置。由于GitHub是已知的身份验证提供程序,因此我们只需要设置clientId和clientSecret。Spring Boot将为我们完成其余的工作。具有的属性flowable.common.app.security前缀用于配置Flowable UI应用程序属性的安全性。通过它们,我们将安全类型设置为“ oauth2”。由于GitHub不是OIDC身份验证提供程序,因此我们需要分别提供fullNameAttribute和emailAttribute,“名称”和“电子邮件”。使用GitHub时,我们无法添加自定义角色,因此我们正在配置每个登录用户都可以获取的defaultAuthorities(“访问任务”)和defaultGroups(“ flowableUser”);这些可以是逗号分隔的值列表。

设置完成后,我们就可以启动应用程序并转到http:// localhost:8080 / flowable-ui,它将被重定向到GitHub登录页面。在这里,我们将使用GitHub用户登录。登录成功后,我们将被重定向到Flowable UI,现在将看到任务应用程序。请记住,您将无法看到所有用户的全名,因为我们没有使用GitHub作为身份服务的实现。

结论

我们的6.6版本包含了新的核心引擎功能,并且对示例UI进行了全面修改,以演示如何使用OAuth2身份验证。由于我们正在使用Spring Security和Spring Boot,因此可以实现可自定义的实现。就像我们一开始所说的那样,我们非常乐意接受社区的意见,以改善UI应用程序。

相关教程