ClaimsPrincipal Azure Bot Framework

Sep 17 2020

Это обобщенный концептуальный вопрос о получении информации о пользователе в чате бота. Предпочтительно это будет через OpenID и для начала с использованием учетных записей Microsoft. Мы хотели бы иметь возможность читать отображаемое имя пользователя, адрес электронной почты пользователя, членство в группе пользователей и т. Д. Как лучше всего получить эту информацию в Azure Bot Framework? В MVC использовать OpenID для получения ClaimsPrincipal легко, но можно ли использовать эту концепцию в Azure Bot Framework и есть ли примеры этого процесса?

Ответы

1 jroby Sep 18 2020 at 05:00

В это было много всего, но по сути я использовал соединение OAuth в службе ботов, чтобы отправить пользователя на конечную точку AADv2 для получения токена. Затем я использовал этот токен для отправки методу GraphServiceClient (часть пакета Nuget Microsoft.Graph) для получения информации о пользователе. Это было предоставлено путем предоставления приложению разрешений API User.Read в Azure AD MS Graph.