com.microsoft.aad.adal4j.AuthenticationException Java Examples
The following examples show how to use
com.microsoft.aad.adal4j.AuthenticationException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CbDelegatedTokenCredentials.java From cloudbreak with Apache License 2.0 | 6 votes |
AuthenticationResult acquireNewAccessToken(String resource) throws IOException { if (authorizationCode == null) { throw new IllegalArgumentException("You must acquire an authorization code by redirecting to the authentication URL"); } String authorityUrl = environment().activeDirectoryEndpoint() + domain(); ExecutorService executor = Executors.newSingleThreadExecutor(); AuthenticationContext context = authenticationContextProvider.getAuthenticationContext(authorityUrl, false, executor); if (proxy() != null) { context.setProxy(proxy()); } try { if (clientSecret != null) { return context.acquireTokenByAuthorizationCode( authorizationCode, new URI(redirectUrl), new ClientCredential(applicationCredentials.clientId(), clientSecret), resource, null).get(); } throw new AuthenticationException("Please provide either a non-null secret."); } catch (URISyntaxException | InterruptedException | ExecutionException e) { throw new IOException(e.getMessage(), e); } finally { executor.shutdown(); } }
Example #2
Source File: CbDelegatedTokenCredentialsTest.java From cloudbreak with Apache License 2.0 | 6 votes |
@Test public void testGetTokenWhenNoSecretProvidedThenAuthenticationExceptionComes() throws IOException { String authorityUrl = format("%s/%s", format(TEST_AD_ENDPOINT, HTTP), TEST_DOMAIN); var underTest = new CbDelegatedTokenCredentials(applicationTokenCredentials, REDIRECT_URL, authenticationContextProvider, cbRefreshTokenClientProvider); underTest.setAuthorizationCode(AUTHORIZATION_CODE); thrown.expect(AuthenticationException.class); thrown.expectMessage("Please provide either a non-null secret."); underTest.getToken(RESOURCE); verify(applicationTokenCredentials, times(0)).clientId(); verify(cbRefreshTokenClientProvider, times(1)).getCBRefreshTokenClient(anyString()); verify(cbRefreshTokenClientProvider, times(1)).getCBRefreshTokenClient(eq(format("%s/", DEFAULT_TEST_AD_ENDPOINT))); verify(authenticationContextProvider, times(1)).getAuthenticationContext(anyString(), anyBoolean(), any(ExecutorService.class)); verify(cbRefreshTokenClient, times(0)).refreshToken(anyString(), anyString(), anyString(), anyString(), anyString(), anyBoolean()); verify(authenticationContextProvider, times(1)).getAuthenticationContext(eq(authorityUrl), eq(false), any(ExecutorService.class)); }
Example #3
Source File: ApplicationTokenCredentials.java From autorest-clientruntime-for-java with MIT License | 5 votes |
private AuthenticationResult acquireAccessToken(String resource) throws IOException { String authorityUrl = this.environment().activeDirectoryEndpoint() + this.domain(); ExecutorService executor = Executors.newSingleThreadExecutor(); AuthenticationContext context = new AuthenticationContext(authorityUrl, false, executor); if (proxy() != null) { context.setProxy(proxy()); } if (sslSocketFactory() != null) { context.setSslSocketFactory(sslSocketFactory()); } try { if (clientSecret != null) { return context.acquireToken( resource, new ClientCredential(this.clientId(), clientSecret), null).get(); } else if (clientCertificate != null && clientCertificatePassword != null) { return context.acquireToken( resource, AsymmetricKeyCredential.create(clientId, new ByteArrayInputStream(clientCertificate), clientCertificatePassword), null).get(); } else if (clientCertificate != null) { return context.acquireToken( resource, AsymmetricKeyCredential.create(clientId(), privateKeyFromPem(new String(clientCertificate)), publicKeyFromPem(new String(clientCertificate))), null).get(); } throw new AuthenticationException("Please provide either a non-null secret or a non-null certificate."); } catch (Exception e) { throw new IOException(e.getMessage(), e); } finally { executor.shutdown(); } }
Example #4
Source File: CbDelegatedTokenCredentials.java From cloudbreak with Apache License 2.0 | 5 votes |
private AuthenticationResult acquireAccessTokenFromRefreshToken(String resource, String refreshToken, boolean multipleResourceRefreshToken) { ExecutorService executor = Executors.newSingleThreadExecutor(); try { return cbRefreshTokenClient.refreshToken(domain(), clientId(), clientSecret, resource, refreshToken, multipleResourceRefreshToken); } catch (Exception e) { throw new AuthenticationException("Could not obtain refresh token.", e); } finally { executor.shutdown(); } }
Example #5
Source File: AzureClient.java From cloudbreak with Apache License 2.0 | 5 votes |
private <T> T handleAuthException(Supplier<T> function) { try { return function.get(); } catch (RuntimeException e) { if (ExceptionUtils.indexOfThrowable(e, AuthenticationException.class) != -1) { throw new ProviderAuthenticationFailedException(e); } else { throw e; } } }
Example #6
Source File: AzureClient.java From cloudbreak with Apache License 2.0 | 5 votes |
private void handleAuthException(Runnable function) { try { function.run(); } catch (RuntimeException e) { if (ExceptionUtils.indexOfThrowable(e, AuthenticationException.class) != -1) { throw new ProviderAuthenticationFailedException(e); } else { throw e; } } }
Example #7
Source File: CbDelegatedTokenCredentialsTest.java From cloudbreak with Apache License 2.0 | 5 votes |
@Test public void testGetTokenWhenDifferentResourceGivenThanProvidedInTokensAndShouldRefreshAndRefreshingTokenFailsThenAuthenticationExceptionComes() throws IOException, ExecutionException, InterruptedException { String customResource = "someOtherResourceWhichIsNotInTheTokensMap"; Map<String, AuthenticationResult> tokens = Map.of(RESOURCE, new AuthenticationResult("type", ACCESS_TOKEN, REFRESH_TOKEN, PAST_DATE, "1", mock(UserInfo.class), true)); when(cbRefreshTokenClientProvider.getCBRefreshTokenClient(eq(String.format("%s/", DEFAULT_TEST_AD_ENDPOINT)))).thenReturn(cbRefreshTokenClient); doThrow(new RuntimeException()).when(cbRefreshTokenClient).refreshToken(TEST_DOMAIN, CLIENT_ID, CLIENT_SECRET, customResource, REFRESH_TOKEN, MULTIPLE_RESOURCE_REFRESH_TOKEN); when(applicationTokenCredentials.clientId()).thenReturn(CLIENT_ID); thrown.expect(AuthenticationException.class); thrown.expectMessage("Could not obtain refresh token."); new CbDelegatedTokenCredentials(applicationTokenCredentials, REDIRECT_URL, tokens, CLIENT_SECRET, authenticationContextProvider, cbRefreshTokenClientProvider) .getToken(customResource); verify(futureAuthenticationResult, times(0)).get(); verify(applicationTokenCredentials, times(1)).clientId(); verify(cbRefreshTokenClientProvider, times(1)).getCBRefreshTokenClient(anyString()); verify(cbRefreshTokenClient, times(1)).refreshToken(TEST_DOMAIN, CLIENT_ID, CLIENT_SECRET, customResource, REFRESH_TOKEN, MULTIPLE_RESOURCE_REFRESH_TOKEN); verify(cbRefreshTokenClientProvider, times(1)).getCBRefreshTokenClient(eq(format("%s/", DEFAULT_TEST_AD_ENDPOINT))); verify(authenticationContextProvider, times(0)).getAuthenticationContext(anyString(), anyBoolean(), any(ExecutorService.class)); verify(cbRefreshTokenClient, times(1)).refreshToken(anyString(), anyString(), anyString(), anyString(), anyString(), anyBoolean()); verify(authenticationContext, times(0)).acquireTokenByAuthorizationCode(anyString(), any(URI.class), any(ClientCredential.class), anyString(), any()); }
Example #8
Source File: DelegatedTokenCredentials.java From autorest-clientruntime-for-java with MIT License | 4 votes |
AuthenticationResult acquireNewAccessToken(String resource) throws IOException { if (authorizationCode == null) { throw new IllegalArgumentException("You must acquire an authorization code by redirecting to the authentication URL"); } String authorityUrl = this.environment().activeDirectoryEndpoint() + this.domain(); ExecutorService executor = Executors.newSingleThreadExecutor(); AuthenticationContext context = new AuthenticationContext(authorityUrl, false, executor); if (proxy() != null) { context.setProxy(proxy()); } try { if (applicationCredentials.clientSecret() != null) { return context.acquireTokenByAuthorizationCode( authorizationCode, new URI(redirectUrl), new ClientCredential(applicationCredentials.clientId(), applicationCredentials.clientSecret()), resource, null).get(); } else if (applicationCredentials.clientCertificate() != null && applicationCredentials.clientCertificatePassword() != null) { return context.acquireTokenByAuthorizationCode( authorizationCode, new URI(redirectUrl), AsymmetricKeyCredential.create( applicationCredentials.clientId(), new ByteArrayInputStream(applicationCredentials.clientCertificate()), applicationCredentials.clientCertificatePassword()), resource, null).get(); } else if (applicationCredentials.clientCertificate() != null) { return context.acquireTokenByAuthorizationCode( authorizationCode, new URI(redirectUrl), AsymmetricKeyCredential.create( clientId(), ApplicationTokenCredentials.privateKeyFromPem(new String(applicationCredentials.clientCertificate())), ApplicationTokenCredentials.publicKeyFromPem(new String(applicationCredentials.clientCertificate()))), resource, null).get(); } throw new AuthenticationException("Please provide either a non-null secret or a non-null certificate."); } catch (Exception e) { throw new IOException(e.getMessage(), e); } finally { executor.shutdown(); } }