Я использую 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']]
];