Получить группу пользователей объявлений Azure с помощью библиотеки @ azure / msal-angular в angular 8 - PullRequest
1 голос
/ 23 октября 2019

Я использую @ azure / msal-angular . Использование loginRedirect () для перенаправления на страницу входа в Microsoft, и я получаю ответ с access_token и идентификаторами групп. Но мне нужны детали группы для реализации контроля доступа в моем приложении. Есть ли какие-либо дополнительные настройки конфигурации, необходимые для получения сведений о группе.

my config:

MsalModule.forRoot({
  clientID: <clientId>,
  authority: `https://login.microsoftonline.com/<tenantId>`,
  redirectUri: "http://localhost:4200/",
  cacheLocation: "localStorage",
  popUp: !isIE,
  consentScopes: ["user.read", "api://<clientID>/GFS_EClaims_UI"],
  storeAuthStateInCookie: false,
  postLogoutRedirectUri: "http://localhost:4200/",
  protectedResourceMap: protectedResourceMap
})

или Чтобы получить сведения о группе, нужно ли мне позвонить в Microsoft graph apiпосле loginRedirect ()?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 октября 2019

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

{
  "groups": ["1ce9c55a-9826-4e32-871c-a8488144bb32"]
}

Для получения информации о поддерживаемых требованиях в маркере доступа см. https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens#claims-in-access-tokens

Но для контроля доступа вашего приложенияЯ не думаю, что вам нужны детали группы. Вы можете просто использовать групповые идентификаторы, чтобы решить, имеет ли пользователь разрешение на ресурс.

Лучший способ - объединить группы и роли. Вы можете определить некоторые роли приложения и назначить роли группам. Тогда у пользователей в группе будет претензия, подобная приведенной ниже:

{
  "roles": ["admin"]
}

Затем вы сможете реализовать свою логику авторизации на основе ролей пользователя.

Подробнее см. https://joonasw.net/view/using-groups-vs-using-app-roles-in-azure-ad-apps и https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...