ClaimsPrincipal Azure Bot Framework

Sep 17 2020

Esta es una pregunta de concepto generalizado sobre la obtención de información del usuario en el chat del bot. Preferiblemente, esto sería a través de OpenID y comenzar con el uso de cuentas de Microsoft. Nos gustaría poder leer el nombre para mostrar del usuario, la dirección de correo electrónico del usuario, la pertenencia a un grupo de usuarios, etc. ¿Cuál es la mejor manera de obtener esta información en Azure Bot Framework? En MVC, usar OpenID para obtener ClaimsPrincipal es fácil, pero ¿se puede usar este concepto en Azure Bot Framework? ¿Hay ejemplos de este proceso?

Respuestas

1 jroby Sep 18 2020 at 05:00

Hubo mucho en esto, pero esencialmente utilicé una conexión OAuth en el servicio Bot para enviar al usuario al punto final AADv2 para obtener el token. Luego usé ese token para enviarlo al método GraphServiceClient (parte del paquete Nuget Microsoft.Graph) para obtener información del usuario. Esto se otorgó al otorgar a la aplicación en Azure AD MS Graph User.Read permisos de API.