Blog Posts bpmn-1-x Process Management

How to Integrate Imixs-Workflow with Single-Sign On

Blog: Imixs Workflow Blog

Imixs-Workflow can now be easily combined with the Open Source Identity and Access Management solution Keycloak. Keycloak is an Open Source Identity and Access Management Server which can be used together with Wildfly to authenticate users with a modern authentication mechanism based on OpenID Connect SAML and OAuth. This is a short tutorial how to setup the Single-Sign On Server Keycloak and configure the Imixs-Workflow to authenticate users.

Installation

Keycloak can be downloaded form here. It is recommended to run Keycloak as a standalone server. After installation the server can be started :

/[KEYCLOAK_INSTALL]/bin/standalone.sh

To avoid port conflicts with another Wildfly instance running Imixs-Worklfow the port-offset parameter can be changed in the standalone.xml file of the keycloak installation:

 <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:1}">

Wildfly adapters

To connect the Wildfly server with the Keycloak server the additional keycloak adapters for wildfly need to be installed. The adapters can be downloaded from here and installed into the wildfly installation root. With the following cli command the adapter can be activated:

./jboss-cli.sh --connect --file="adapter-install.cli"

This command will add the keycloak-adapter-subsystem into the wildfly standalone.xml file.

<server xmlns="urn:jboss:domain:4.0>
<extensions>
    ...
    <extension module="org.keycloak.keycloak-adapter-subsystem"/>
</extensions>
 ...
 <security-domain name="keycloak">
 <authentication>
 <login-module code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
 </authentication>
 </security-domain>
...
 <profile>
    <subsystem xmlns="urn:jboss:domain:keycloak:1.1"/>
    ...

Define the Imixs-Workflow Client Application

After Keycloak is up and running, a new client configuration for the Imixs-Workflow server can be added by using the keycloak web interface:

Imixs-Workflow and Single-Sign On

Configuration of Imixs-Worklfow

After the client configuration is added, the Keycloak realm can be added into the web.xml file of Imixs-Workflow:

...
<login-config>
   <auth-method>KEYCLOAK</auth-method>
   <realm-name>Master</realm-name>
</login-config>

In addition the Workflow Application need to know the keycloak server information which can be added either into the standalone.xml or into a json file “keycloak.json” added into the /WEB-INF/ folder. The information can be generated by the keycloak admin client from the corresponding client configuration:

Imixs-Workflow and Single-Sign On

Configure Users and Roles

Finally new users can be granted by the Keycloak server to access the Imixs-Workflow application. The following role need to be defined in the client configuration:

Imixs-Workflow and Single-Sign On Role Managmeent

 

After the roles are added into the client configuration, users can be assigned to the roles depending on their individual access level:

keycloak-004

 

So finally users accessing the Imixs-Workflow application will be authenticated by the Single-Sign On Server.

The post How to Integrate Imixs-Workflow with Single-Sign On appeared first on Imixs Workflow.

Leave a Comment

Get the BPI Web Feed

Using the HTML code below, you can display this Business Process Incubator page content with the current filter and sorting inside your web site for FREE.

Copy/Paste this code in your website html code:

<iframe src="https://www.businessprocessincubator.com/content/how-to-integrate-imixs-workflow-with-single-sign-on/?feed=html" frameborder="0" scrolling="auto" width="100%" height="700">

Customizing your BPI Web Feed

You can click on the Get the BPI Web Feed link on any of our page to create the best possible feed for your site. Here are a few tips to customize your BPI Web Feed.

Customizing the Content Filter
On any page, you can add filter criteria using the MORE FILTERS interface:

Customizing the Content Filter

Customizing the Content Sorting
Clicking on the sorting options will also change the way your BPI Web Feed will be ordered on your site:

Get the BPI Web Feed

Some integration examples

BPMN.org

XPDL.org

×