При использовании двух авторизованных клиентов весной с MSAL я получаю ошибку AADSTS65001

#spring #azure

Вопрос:

У меня есть два авторизованных клиента в моем приложении Spring MSAL, вот так:

 azure:
  activedirectory:
    tenant-id: ${TENANT_ID}
    client-id: ${CLIENT_ID}
    client-secret: ${CLIENT_SECRET}
    authorization-clients:
      calendar-api:
        scopes:
        - ${CALENDAR_SCOPE}
      azure-api:
        scopes:
        - ${AZURE_SCOPE}
 

Если я оставлю один из этих клиентов на месте, я смогу запустить свое приложение, войти в систему и создать клиентов для вызова нижестоящих серверов ресурсов. Но если я включу оба клиента, я получу следующую ошибку:

 [invalid_grant] AADSTS65001: The user or administrator has not consented to use the application with ID 'b31490c0-4ac4-4f8c-8f8e-d5addb72271d' named 'Frontend'. Send an interactive authorization request for this user and resource. Trace ID: 3f003263-5eb7-4f97-b29a-fe0337d80800 Correlation ID: 4ccb19ec-8ff9-442d-b1b6-a106aa6721eb Timestamp: 2021-09-25 09:58:41Z
 

Как я могу это исправить?

Ответ №1:

Я считаю, что ответ здесь заключается в добавлении API-интерфейсов на странице разрешений API и предоставлении им согласия администратора. Как только я добавил это согласие администратора, ошибка исчезла.

введите описание изображения здесь