Я реализовал библиотеку msal в своем приложении angular, используя Implicit Flow . Я могу войти, используя рекламную учетную запись Microsoft, и у меня есть токен, необходимый для запросов аутентификации для использования API. Когда я декодирую токен, используя https://jwt.ms/, я вижу, что ключ aud имеет значение моего идентификатора клиентского приложения , как должен выглядеть URL для userinfo? Если я буду использовать эти конечные точки, которые описаны в документах, у меня была ошибка с неверным токеном: https://graph.microsoft.com/oidc/userinfo или https://graph.microsoft.com/v1.0/me/
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure. Invalid audience.",
"innerError": {
"request-id": "8177b64f-c899-48c3-aceb-xxxxxxxxx",
"date": "2020-03-18T07:41:04"
}
}
}
Я забыл поставить конфигурацию моего модуля.
...
MsalModule.forRoot({
auth: {
clientId: environment.CLIENT_ID,
redirectUri: environment.REDIRECT_URI,
postLogoutRedirectUri: environment.POST_LOGOUT_REDIRECT_URI,
authority: environment.AUTHORITY,
},
cache: {
cacheLocation: 'localStorage',
storeAuthStateInCookie: true,
}
},
{
popUp: false,
consentScopes: [
'user.read',
'openid',
'profile',
],
unprotectedResources: [],
protectedResourceMap: [
['https://graph.microsoft.com/v1.0/me', ['user.read']]
]
})
...
где: URL-адрес полномочий: Полномочия: 'https://login.microsoftonline.com/xxxxtenant_idxxxx' идентификатор клиента: идентификатор клиента регистрации приложения