Search in sources :

Example 1 with FactorValidationException

use of com.okta.authn.sdk.FactorValidationException in project cerberus by Nike-Inc.

the class OktaAuthConnector method mfaCheck.

/**
 * Verifies user's MFA factor using Okta Auth SDK.
 */
@Override
public AuthResponse mfaCheck(String stateToken, String deviceId, String otpToken) {
    CompletableFuture<AuthResponse> authResponse = new CompletableFuture<>();
    MfaStateHandler stateHandler = new MfaStateHandler(oktaAuthenticationClient, authResponse);
    DefaultVerifyPassCodeFactorRequest request = oktaAuthenticationClient.instantiate(DefaultVerifyPassCodeFactorRequest.class);
    request.setPassCode(otpToken);
    request.setStateToken(stateToken);
    try {
        oktaAuthenticationClient.verifyFactor(deviceId, request, stateHandler);
        return authResponse.get(45, TimeUnit.SECONDS);
    } catch (ApiException e) {
        throw e;
    } catch (FactorValidationException e) {
        throw ApiException.newBuilder().withExceptionCause(e).withApiErrors(DefaultApiError.FACTOR_VALIDATE_FAILED).withExceptionMessage("Failed to validate factor.").build();
    } catch (Exception e) {
        throw ApiException.newBuilder().withExceptionCause(e).withApiErrors(DefaultApiError.AUTH_RESPONSE_WAIT_FAILED).withExceptionMessage("Failed to wait for Okta Auth Completable Future to complete.").build();
    }
}
Also used : DefaultVerifyPassCodeFactorRequest(com.okta.authn.sdk.impl.resource.DefaultVerifyPassCodeFactorRequest) CompletableFuture(java.util.concurrent.CompletableFuture) FactorValidationException(com.okta.authn.sdk.FactorValidationException) MfaStateHandler(com.nike.cerberus.auth.connector.okta.statehandlers.MfaStateHandler) ApiException(com.nike.backstopper.exception.ApiException) FactorValidationException(com.okta.authn.sdk.FactorValidationException) AuthResponse(com.nike.cerberus.auth.connector.AuthResponse) ApiException(com.nike.backstopper.exception.ApiException)

Aggregations

ApiException (com.nike.backstopper.exception.ApiException)1 AuthResponse (com.nike.cerberus.auth.connector.AuthResponse)1 MfaStateHandler (com.nike.cerberus.auth.connector.okta.statehandlers.MfaStateHandler)1 FactorValidationException (com.okta.authn.sdk.FactorValidationException)1 DefaultVerifyPassCodeFactorRequest (com.okta.authn.sdk.impl.resource.DefaultVerifyPassCodeFactorRequest)1 CompletableFuture (java.util.concurrent.CompletableFuture)1