This repository contains the source code for a collection of Keycloak MFA plugins. The plugins are:
- SMS authenticator: Provides SMS as authentication step. SMS are sent via HTTP API, which can be configured. (production ready)
- Enforce MFA: Force users to configure a second factor after logging in. (beta)
- Native App MFA integration: connect a mobile app to Keycloak which receives a notification about a pending login process and allows the user to allow/block the login request. (work in progress)
The different plugins are documented in the submodules README. If you need support for deployment or adjustments, please contact [email protected].
The code of this project is Apache 2.0 licensed. Parts of the original code are MIT licensed.
Run the Quarkus distribution in development mode for live reloading and debugging similar to: https://github.com/keycloak/keycloak/tree/main/quarkus#contributing
mvn -f some_module/pom.xml compile quarkus:dev
Works great:) keycloak/keycloak#11841
- Clone this repository
- Install Apache Maven
- Change into the cloned directory and run
A file
mvn clean install
target/netzbegruenung.keycloak-2fa-sms-authenticator.jar
should be created.
If building fails and the problem is caused or related to the dev module or tests, try to run mvn clean install -DskipTests
.
Deployment is done by github actions: .github/workflows/release.yml
To trigger the release workflow be sure to have proper access rights and follow the steps below.
https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-tag-protection-rules#about-tag-protection-rules
- Update project and submodules version
mvn versions:set -DnewVersion=1.2.3; mvn versions:commit
- Commit your changes
- Add tag to your commit
git tag -a v1.2.3 -m "Bump version 1.2.3"
- Trigger the release by
git push --tags
After building completes the new release is available on github containing the jar files for each module.