Example Custom Authenticator =================================================== 1. First, Keycloak must be running. See [Getting Started](https://github.com/keycloak/keycloak#getting-started), or you can build distribution from [source](https://github.com/keycloak/keycloak/blob/main/docs/building.md). 2. Execute the follow. This will build the example and deploy it `$ mvn clean install wildfly:deploy` 3. Copy the `secret-question.ftl` and `secret-question-config.ftl` files to the `themes/base/login` server directory. 4. Login to admin console. Hit browser refresh if you are already logged in so that the new providers show up. 5. Go to the **Authentication** menu item and go to the **Flows** tab, you will be able to view the currently defined flows. You cannot modify a built-in flows, so, to add the Authenticator you have to copy an existing flow or create your own. Copy the "Browser" flow. 6. In your copy, click the **Actions** menu item in **Forms** subflow and **Add Execution**. Pick `Secret Question` and change the **Requirement** choice. 7. Go to the **Bindings** tab in **Authentication** menu and change the default **Browser Flow** to your copy of the browser flow and click `Save`. 8. Next you have to register the required action that you created. Click on the **Required Actions** tab in the **Authentication** menu. Click on the `Register` button and choose your new Required Action. You can also choose the `Default Action` for the Required Action and each new user has to set the secret answer. Your new required action should now be displayed and enabled in the required actions list.