Java
Learn how to use the Authsignal Java SDK.
Installation
Gradle users
Add this dependency to your project’s build file:
implementation 'com.authsignal:authsignal-java:0.1.3'
Maven users
Add this dependency to your project’s POM:
<dependency>
<groupId>com.authsignal</groupId>
<artifactId>authsignal-java</artifactId>
<version>0.1.4</version>
</dependency>
Initialization
import com.authsignal.AuthsignalClient;
...
AuthsignalClient authsignalClient = new AuthsignalClient(secret, baseURL);
You can find your secret key in the Authsignal Portal.
You must specify the correct base URL for your tenant’s region.
Region | Base URL |
---|---|
US (Oregon) | https://api.authsignal.com/v1 |
AU (Sydney) | https://au.api.authsignal.com/v1 |
EU (Dublin) | https://eu.api.authsignal.com/v1 |
track
track
lets you track actions performed by users and obtain a URL to perform challenges via the pre-built UI.
TrackRequest request = new TrackRequest();
request.userId = userId;
request.action = action;
CompletableFuture<TrackResponse> response = authsignalClient.track(request);
Arguments
Returns
validateChallenge
validateChallenge
lets you validate the result of a challenge using the token which is obtained after a redirect (if using the pre-built UI) or returned by a client SDK (if using an embedded flow).
ValidateChallengeRequest request = new ValidateChallengeRequest();
request.token = token;
CompletableFuture<ValidateChallengeResponse> response = authsignalClient.validateChallenge(request);
When performing MFA for a user who has already been authenticated by a primary factor (e.g. username & password), it’s important to check the token belongs to that user. The validateChallenge method will do this check if you pass both the token and the userId.
Arguments
Returns
getUser
getUser
retrieves a user and their enrollment status.
UserRequest request = new UserRequest();
request.userId = userId;
CompletableFuture<UserResponse> response = authsignalClient.getUser(request);
Arguments
Returns
getAction
getAction
lets you determine the result of a challenge after the user has been redirected back from the Authsignal pre-built UI (or after the popup has been closed, if showing the page in a modal).
ActionRequest request = new ActionRequest();
request.userId = userId;
request.action = action;
request.idempotencyKey = idempotencyKey;
CompletableFuture<ActionResponse> response = authsignalClient.getAction(request);
Arguments
Returns
enrollVerifiedAuthenticator
enrollVerifiedAuthenticator
can be used to enroll an authenticator on behalf of a user if it has already been verified.
EnrollVerifiedAuthenticatorRequest request = new EnrollVerifiedAuthenticatorRequest();
request.userId = userId;
request.phoneNumber = phoneNumber;
request.oobChannel = OobChannel.SMS;
CompletableFuture<EnrollVerifiedAuthenticatorResponse> response = authsignalClient.enrollVerifiedAuthenticator(request);