keycloak-scim/examples/providers/authenticator
2016-03-10 08:13:00 +01:00
..
src/main KEYCLOAK-1524 2016-02-03 11:20:22 +01:00
pom.xml Next is 2.0.0.CR1 2016-03-10 08:13:00 +01:00
README.md Updated examples with moved themes directory 2016-02-23 15:30:50 +01:00
secret-question-config.ftl
secret-question.ftl

Example User Federation Provider

This is an example of defining a custom Authenticator and Required action. This example is explained in the user documentation of Keycloak. To deploy, build this directory then take the jar and copy it to standalone/configuration/providers. Alternatively you can deploy as a module by running:

KEYCLOAK_HOME/bin/jboss-cli.sh --command="module add --name=org.keycloak.examples.secret-question --resources=target/authenticator-required-action-example.jar --dependencies=org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-services,org.jboss.resteasy.resteasy-jaxrs,javax.ws.rs.api"

Then registering the provider by editing keycloak-server.json and adding the module to the providers field:

"providers": [
    ....
    "module:org.keycloak.examples.secret-question"
],

You then have to copy the secret-question.ftl and secret-question-config.ftl files to the themes/base/login directory.

After you do all this, you then have to reboot keycloak. When reboot is complete, you will need to log into the admin console to create a new flow with your new authenticator.

If you go to the Authentication menu item and go to the Flow tab, you will be able to view the currently defined flows. You cannot modify an built in flows, so, to add the Authenticator you have to copy an existing flow or create your own.

Next you have to register your required action. Click on the Required Actions tab. Click on the Register button and choose your new Required Action. Your new required action should now be displayed and enabled in the required actions list.

I'm hoping the UI is intuitive enough so that you can figure out for yourself how to create a flow and add the Authenticator and Required Action. We're looking to add a screencast to show this in action.