AADSTS65001: пользователь или администратор не дали согласия на использование приложения с идентификатором - PullRequest
1 голос
/ 21 июня 2020

Я следую этому документу и вижу следующую проблему.

ERROR com.microsoft.aad.msal4j.PublicClientApplication - [Correlation ID: 6ed3f887-f7a7-4201-ba9c-6587d8510ef8] Execution of class com.microsoft.aad.msal4j.AcquireTokenByAuthorizationGrantSupplier failed.
com.microsoft.aad.msal4j.MsalInteractionRequiredException: AADSTS65001: The user or administrator has not consented to use the application with ID 'ab8dd9d6-d79b-454d-9c40-236a74cfe698' named 'AzureTestApp01'. Send an interactive authorization request for this user and resource.
Trace ID: 0eb3ee9e-b1c1-43e8-90b3-2a1a70b71100
Correlation ID: 6ed3f887-f7a7-4201-ba9c-6587d8510ef8
Timestamp: 2020-06-19 22:32:40Z

Я выполнил следующие шаги:

  1. Зарегистрировал приложение как Publi c клиент
  2. обновлен манифест, чтобы установить для свойства allowPublicClient значение true
  3. установить разрешение User.Read
  4. также предоставляется Предоставление / отзыв согласия администратора

Я сослался на несколько статей, чтобы решить эту проблему; но никто не работал. Любые указатели будут полезны. Это код, который я использую:

PublicClientApplication pca = PublicClientApplication.builder(APP_ID).authority(AUTHORITY).build();
String scopes = "User.Read";
UserNamePasswordParameters parameters = UserNamePasswordParameters.builder(Collections.singleton(scopes),userName,password.toCharArray()).build();
IAuthenticationResult result = pca.acquireToken(parameters).get();

1 Ответ

0 голосов
/ 22 июня 2020

Во-первых, вы должны быть администратором клиента (если вы не являетесь администратором клиента, вы не можете предоставить права администратора), вы можете настроить роли пользователей в соответствии с процессом здесь .

Затем выполните этот процесс, чтобы предоставить администратору согласие на приложение:

  1. Войдите в https://portal.azure.com как администратор клиента.
  2. Откройте регистрация вашего приложения в следующем месте.
  3. Go в настройки, а затем необходимые разрешения.
  4. Нажмите кнопку предоставления разрешения.

enter image description here

Based on your question, I used the ROP C поток тест для получения токена доступа.

enter image description here

Parse the token to see the scope of user.read. enter image description here

Finally, to obtain user information, visit https://graph.microsoft.com/v1.0/me Api. введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...