Получить назначенные роли в Azure Web App с помощью PHP - PullRequest
0 голосов
/ 25 сентября 2019

Я создал веб-приложение Azure с использованием PHP.Я включил AAD-аутентификацию, и все получилось, когда вы должны войти в систему как пользователь компании, чтобы получить доступ к сайту.

Затем я создал новые роли приложений, используя App Registration --> Manifest.Я назначил себе эту роль, вышел из системы и снова включил ее. В переменной $_SERVER я не могу найти ссылку на эту роль.Я могу найти свое имя пользователя, токены, принцип_приятия и т. Д., Но ничего не ссылается на только что созданную AppRole.

Мой вопрос: как получить роли приложения, назначенные вошедшему в систему пользователю?Единственная документация, которую я нахожу по этому вопросу, касается .net или действительно старых классических вещей Azure.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

На основании официальной документации определенное значение AppRole будет возвращено в id_token.

enter image description here

Чтобы получить id_token пользователя, вы можете использовать Azure AD поток кода авторизации OAuth 2.0 и добавить openid в область.Здесь я использую почтальон для получения access_token и id_token:

enter image description here

И тогда я могу получить id_token

enter image description here

Анализируя идентификатор токена, вы можете получить роль пользователя:

enter image description here

0 голосов
/ 26 сентября 2019

Простейший способ использовать Microsoft Graph API для такого рода операций.

Вот пример Github Repo для справки:

https://github.com/Azure-Samples/active-directory-php-graphapi-directoryextensions-web

ДляЧтобы получить роль пользователя, вы можете просто позвонить ниже графика API:

GET /me/memberOf
or
GET /users/{id | userPrincipalName}/memberOf

Вы можете проверить ниже документ для дальнейшей справки:

https://docs.microsoft.com/en-us/graph/api/user-list-memberof?view=graph-rest-1.0&tabs=http

В целом это какпоток будет выглядеть следующим образом:

  • Зарегистрируйте приложение с необходимым набором разрешений
  • Получите авторизацию от Azure AD, используя вышеуказанное приложение для создания
  • Используйте форму токена, шаг 2и вызовите график api для получения пользовательских ролей
  • Продолжите проверку

Пример ответа выглядит следующим образом:

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "@odata.type": "#microsoft.graph.group",
      "id": "id-value",
      "createdDateTime": null,
      "description": "All users at the company",
      "displayName": "All Users",
      "groupTypes": [],
      "mailEnabled": false,
      "securityEnabled": true,
    }
  ]
}

Надеюсь, это поможет.

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