public AuthenticationResult acquireTokenForGraphApi(String idToken, String tenantId) throws MalformedURLException, ServiceUnavailableException, InterruptedException, ExecutionException { final ClientCredential credential = new ClientCredential(clientId, clientSecret); final UserAssertion assertion = new UserAssertion(idToken); AuthenticationResult result = null; ExecutorService service = null; try { service = Executors.newFixedThreadPool(1); final AuthenticationContext context = new AuthenticationContext( serviceEndpoints.getAadSigninUri() + tenantId + "/", true, service); context.setCorrelationId(getCorrelationId()); final Future<AuthenticationResult> future = context .acquireToken(serviceEndpoints.getAadGraphApiUri(), assertion, credential, null); result = future.get(); } finally { if (service != null) { service.shutdown(); } } if (result == null) { throw new ServiceUnavailableException("unable to acquire on-behalf-of token for client " + clientId); } return result; }
public AuthenticationResult acquireTokenForGraphApi(String idToken, String tenantId) throws MalformedURLException, ServiceUnavailableException, InterruptedException, ExecutionException { final ClientCredential credential = new ClientCredential(clientId, clientSecret); final UserAssertion assertion = new UserAssertion(idToken); AuthenticationResult result = null; ExecutorService service = null; try { service = Executors.newFixedThreadPool(1); final AuthenticationContext context = new AuthenticationContext( serviceEndpoints.getAadSigninUri() + tenantId + "/", true, service); context.setCorrelationId(getCorrelationId()); final Future<AuthenticationResult> future = context .acquireToken(serviceEndpoints.getAadGraphApiUri(), assertion, credential, null); result = future.get(); } finally { if (service != null) { service.shutdown(); } } if (result == null) { throw new ServiceUnavailableException( "unable to acquire on-behalf-of token for client " + clientId); } return result; }