Надежно идентифицировать гостя Команды - PullRequest
0 голосов
/ 01 мая 2020

У меня есть приложение на вкладке Microsoft Teams, и я использую SSO для аутентификации. Мои пользователи являются как родными, так и гостями. Мое требование - показывать разные экраны в зависимости от типа входящего пользователя (native / guest), поэтому сначала нужно определить тип пользователя. Чтобы обеспечить безопасность, я сначала получаю токен id для входящего пользователя, а затем проверяю его, прежде чем определить тип пользователя. Есть ли надежный способ идентифицировать входящий тип пользователя только с помощью токена id? Я не доверяю информации в контексте вкладки.

1 Ответ

0 голосов
/ 09 мая 2020

Вы можете использовать microsoft graph api (beta) get user .

https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}

Если токен id содержит objectId пользователя, просто укажите objectId в качестве параметра этого API. , В ответе мы можем найти атрибут userType. Значение этого атрибута может быть Member или Guest.

Если маркер идентификатора не содержит objectId пользователя, он содержит только электронную почту. Мы также можем указать его в качестве параметра в графике API, но если электронное письмо является гостевым пользователем, API не получит данные ответа. Поэтому я спросил вас, содержит ли он идентификатор объекта в комментариях.

Кстати, атрибут userType существует только в бета-версии API-интерфейса Microsoft Graph, но не существует в API-интерфейсе Microsoft версии 1.1. Так что, если вам не нравится бета-версия, я предлагаю использовать Azure API Graph API ( получить пользователя ) вместо Microsoft Graph API.

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

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