Не удалось выполнить класс com.microsoft.aad.msal4j. AcquireTokenByAuthorizationGrantSupplier - PullRequest
1 голос
/ 13 апреля 2020

Я установил приложение Azure AD, и я пытаюсь подключить свое приложение локально из eclipse, и я получаю следующую ошибку.

[ForkJoinPool.commonPool-worker-1] ERROR com.microsoft.aad.msal4j.PublicClientApplication - [Correlation ID: c4035431-b9dc-486a-b48c-1bac2ae4306c] Execution of class com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier failed.
java.lang.NullPointerException
    at com.microsoft.aad.msal4j.WSTrustResponse.parse(WSTrustResponse.java:74)
    at com.microsoft.aad.msal4j.WSTrustRequest.execute(WSTrustRequest.java:48)
    at com.microsoft.aad.msal4j.WSTrustRequest.execute(WSTrustRequest.java:89)
    at com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier.getAuthorizationGrantIntegrated(AcquireTokenByAuthorizationGrantSupplier.java:126)
    at com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier.execute(AcquireTokenByAuthorizationGrantSupplier.java:40)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:59)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:17)
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
    at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582)

Я выполнил точные шаги, указанные в - https://github.com/Azure-Samples/ms-identity-java-desktop/tree/master/Integrated-Windows-Auth-Flow

Пожалуйста, найдите мой исходный код ниже:

private final static String CLIENT_ID = "********-****-****-***-*******"; //Azure generated client id
private final static String AUTHORITY = "https://login.microsoftonline.com/************/"; //Azure generated tenant id 
private final static Set<String> SCOPE = Collections.singleton("User.Read User.ReadBasic.All");
private final static String USER_NAME = "******@****.com.au"; //fully qualified user name who is trying to get the token

TokenCacheAspect tokenCacheAspect = new TokenCacheAspect("sample_cache.json");

PublicClientApplication pca = PublicClientApplication.builder(CLIENT_ID).authority(AUTHORITY)
                .setTokenCacheAccessAspect(tokenCacheAspect).build(); 



IAuthenticationResult result;
try {
     IntegratedWindowsAuthenticationParameters parameters = IntegratedWindowsAuthenticationParameters
                    .builder(SCOPE, USER_NAME).build();

            result = pca.acquireToken(parameters).join();
} catch (Exception ex) {


throw ex;
} return result;

Любая помощь будет высоко оценена.

...