use of com.okta.oidc.net.request.NativeAuthorizeRequest in project okta-oidc-android by okta.
the class SyncAuthClientTest method nativeSignInRequestSuccess.
@Test
public void nativeSignInRequestSuccess() throws AuthorizationException {
mEndPoint.enqueueNativeRequestSuccess(CUSTOM_STATE);
NativeAuthorizeRequest request = mSyncNativeAuth.nativeAuthorizeRequest(SESSION_TOKEN, mProviderConfig, null);
AuthorizeResponse response = request.executeRequest(mHttpClient);
assertNotNull(response);
assertEquals(response.getCode(), EXCHANGE_CODE);
assertEquals(response.getState(), CUSTOM_STATE);
}
use of com.okta.oidc.net.request.NativeAuthorizeRequest in project okta-oidc-android by okta.
the class SyncAuthClientImpl method signIn.
@WorkerThread
@Override
public Result signIn(String sessionToken, @Nullable AuthenticationPayload payload) {
try {
mCancel.set(false);
ProviderConfiguration providerConfiguration = obtainNewConfiguration();
checkIfCanceled();
mOktaState.setCurrentState(State.SIGN_IN_REQUEST);
NativeAuthorizeRequest request = nativeAuthorizeRequest(sessionToken, providerConfiguration, payload);
mCurrentRequest.set(new WeakReference<>(request));
// Save the nativeAuth request in a AuthRequest because it is needed to verify results.
AuthorizeRequest authRequest = new AuthorizeRequest(request.getParameters());
mOktaState.save(authRequest);
AuthorizeResponse authResponse = request.executeRequest(mHttpClient);
checkIfCanceled();
// This flow should never happen but if it does throw a exception.
if (isVerificationFlow(authResponse)) {
return Result.error(new AuthorizationException("Email verification required. Session: " + authResponse.getSessionHint(), null));
}
validateResult(authResponse, authRequest);
mOktaState.setCurrentState(State.TOKEN_EXCHANGE);
TokenRequest requestToken = tokenExchange(authResponse, providerConfiguration, authRequest);
mCurrentRequest.set(new WeakReference<>(requestToken));
TokenResponse tokenResponse = requestToken.executeRequest(mHttpClient);
mOktaState.save(tokenResponse);
return Result.success();
} catch (AuthorizationException e) {
return Result.error(e);
} catch (IOException e) {
return Result.cancel();
} catch (Exception e) {
return Result.error(new AuthorizationException(OTHER.code, e.getMessage(), e));
} finally {
resetCurrentState();
}
}
use of com.okta.oidc.net.request.NativeAuthorizeRequest in project okta-oidc-android by okta.
the class SyncAuthClientTest method nativeSignInRequestFailure.
@Test
public void nativeSignInRequestFailure() throws AuthorizationException {
mExpectedEx.expect(AuthorizationException.class);
mEndPoint.enqueueReturnUnauthorizedRevoked();
NativeAuthorizeRequest request = mSyncNativeAuth.nativeAuthorizeRequest(SESSION_TOKEN, mProviderConfig, null);
AuthorizeResponse response = request.executeRequest(mHttpClient);
assertNull(response);
}
Aggregations