Невозможно получить группы пользователей api графика с помощью токена доступа с помощью MSALjs - PullRequest
0 голосов
/ 16 июня 2020

Я использую msal js в angular с. net. Я могу получить токен v2 oauth, но в. net метод GetMyMemberOfGroupsAsyncmethod возвращает 401 с ошибкой недопустимого компактного токена. Я попытался изменить рамки в приложении, но без толку.

Вот конфигурационный файл angular

{
"msalConfig": {
    "clientId": "CLIENT_ID",
     "authority": "https://login.microsoftonline.com/TENANT_ID/",
     "validateAuthority": true,
     "redirectUri": "http://localhost:3000/",
    "postLogoutRedirectUri": "http://localhost:3000/"
  },
  "angular": {
    "popUp": false,
    "consentScopes": [
      "user.read.all",
      "directory.Read.all"
    ]
  }
}

Ниже представлен токен, проанализированный через JWT.io

{
  "aud": "AUD",
  "iss": "https://login.microsoftonline.com/TENANT_ID/v2.0",
  "iat": 1592242137,
  "nbf": 1592242137,
  "exp": 1592246037,
  "aio": "",
  "email": "",
  "family_name": "",
  "given_name": "",
  "name": "",
  "nonce": "",
  "oid": "",
  "preferred_username": "USERNAME",
  "sub": "",
  "tid": "",
  "uti": "",
  "ver": "2.0"
}

Исключение происходит в последней строке ниже сегмент кода:

        public async Task<List<Group>> GetMyMemberOfGroupsAsync(string accessToken)
        {
            List<Group> groups = new List<Group>();
            PrepareAuthenticatedClient(accessToken);
            // Get groups the current user is a direct member of.
            IUserMemberOfCollectionWithReferencesPage memberOfGroups = await graphServiceClient.Me.MemberOf.Request().GetAsync();

Я получаю следующее исключение на моем. net backend

сбой: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware [1] Произошло необработанное исключение при выполнении запроса. Код состояния: Неавторизованный Microsoft.Graph.ServiceException: Код: InvalidAuthenticationToken Сообщение: Ошибка синтаксического анализа CompactToken с кодом ошибки: 80049217 Внутренняя ошибка: AdditionalData: date: 2020-06-16T12: 44: 50 идентификатор запроса: ce0a83bf-3e33-4510-b4f6 -9840dfb85a8a ClientRequestId: ce0a83bf-3e33-4510-b4f6-9840dfb85a8a

Конечные точки используют версию 2.0. Кроме того, я попытался добавить защищенные карты ресурсов, как показано ниже, в файл конфигурации, но токен, похоже, не изменился:

    protectedResourceMap: [
        ['https://graph.microsoft.com/v1.0/me', ['user.read']]
    ];
...