#angular #azure #microsoft-graph-api #msal #msal.js
#angular #azure #microsoft-graph-api #msal #msal.js
Вопрос:
Я новичок в MSAL и испытываю проблемы с чем-то, что кажется довольно простым.
В настоящее время я создаю приложение панели мониторинга, которое может считывать информацию о клиентах через Microsoft Graph. До сих пор я добавлял новых клиентов, регистрируя приложение на портале Azure. Теперь я хотел бы автоматизировать этот процесс, разрешив пользователю войти в систему и попросить приложение создать для него регистрацию.
Я использовал этот учебник, чтобы начать работу с MSAL, и все работает нормально до тех пор, пока я не попытаюсь запросить дополнительные предпосылки
Насколько я понимаю, мне нужно будет добавить необходимые предпосылки в consentscope в MsalModule
MsalModule.forRoot(
{
auth: {
clientId: "c91b9c1f-662c-491c-870c-fff04dd9b065",
redirectUri: "https://parigxprz.github.stackblitz.io"
},
cache: {
cacheLocation: "localStorage",
storeAuthStateInCookie: isIE // set to true for IE 11
}
},
{
popUp: !isIE,
//adding extra premissions here
consentScopes: ["user.read", "openid", "profile", "calendar.read","mail.read"],
protectedResourceMap: [
['https://graph.microsoft.com/v1.0/me', ['user.read']],
],
unprotectedResources: [],
extraQueryParameters: {}
}
)
И что это будет отображаться здесь
Теперь, к сожалению, это, похоже, не относится ко мне, поскольку он запрашивает только предварительное чтение базового профиля, а не календаря или почты. Я также попытался добавить его в вызов loginpopup следующим образом
this.authService.loginPopup({
extraScopesToConsent: ["user.read", "openid", "profile", "calendar.read","mail.read"]
});
Но это, похоже, не сильно меняется.
Вот stackblitz с использованием примера приложения из примера github azure.
https://stackblitz.com/edit/github-o6tcvk?file=src/app/app.component.ts
Любая помощь будет оценена.
Ответ №1:
Это необходимо настроить при регистрации приложения на портале Azure. Посмотрите на раздел API и выберите соответствующие разрешения в graph api. Возможно, вам придется предоставить согласие администратора, прежде чем ваши пользователи смогут утвердить доступ.
Комментарии:
1. Привет, спасибо за ответ, я попытался добавить предпосылки, как вы можете видеть здесь imgur.com/u9CLdXV . Но, к сожалению, он по-прежнему не запрашивает предоставление этих разрешений при входе в систему от другого клиента. Вот как это выглядит на вкладке enterprise application от другого клиента при входе в систему с пользователем из этого другого клиента imgur.com/u9CLdXV