This project provides an open source WebAuthn Authenticator plug-in for the Curity Identity Server. This allows an administrator to add functionality to Curity which will then enable end users to login using their physical authenticator devices.
You can build the plugin by issue the command gradlew build
. This will produce a JAR file in the target directory, which can be installed.
To install the plugin, copy the compiled JAR (and all of its dependencies) into the ${IDSVR_HOME}/usr/share/plugins/${pluginGroup}
on each node, including the admin node. For more information about installing plugins, refer to the curity.io/plugins.
Some of the dependencies required by the plugin are already provided by the Curity Identity Server. The additional ones that are not provided and need to be copied together with the plugin are:
- org.apache.commons
- com.google.guava
- com.fasterxml.jackson.core
- com.fasterxml.jackson.dataformat
- org.jose4j
You can find the dependencies jar files in build/libs
after executing the task gradlew copyRuntimeLibs
. Note that some of the above dependencies bring in a few extra ones.
To configure a new WebAuthn authenticator using the Curity admin UI, do the following after logging in:
- Go to the
Authenticators
page of the authentication profile wherein the authenticator instance should be created. - Click the
New Authenticator
button. - Enter a name (e.g.,
web-authn1
). - For the type, pick the
WebAuthn
option. - On the next page, you can define all of the standard authenticator configuration options like any previous authenticator that should run, the resulting ACR, transformers that should be executed, etc. At the bottom of the configuration page, the WebAuthn-specific options can be found.
- Certain required configuration settings should be provided. One of these required settings is the
AccountManager
setting. This is the account manager that will be used to provide the accounts linked to the devices that are going to be used by the authenticator. - Select the
Bucket
to use, which sets the data-source for the authenticator. - Select the
Algorithms
that WebAuthn is going to choose one from for signing. The algorithms are selected in descending order of preference. Currently onlyES256
is supported by the WebAuthn compliant clients. - Finally, configure an
Organisation Name
that is going to be linked with the devices upon registration by WebAuthn.
Once all of these changes are made, they will be staged, but not committed (i.e., not running). To make them active, click the Commit
menu option in the Changes
menu. Optionally enter a comment in the Deploy Changes
dialogue and click OK
.
Once the configuration is committed and running, the authenticator can be used like any other.
Please visit curity.io for more information about the Curity Identity Server.