Uso de identidades de usuario en la autenticación de Azure App Service

En este artículo se muestra cómo trabajar con identidades de usuarios mientras usa la autenticación y autorización integradas en App Service.

Acceso a notificaciones de usuario en el código de la aplicación

En todos los marcos de lenguaje, App Service hace que las notificaciones del token de entrada (tanto si proceden de un usuario final autenticado como de una aplicación cliente) estén disponibles para el código. Para ello, se insertan en los encabezados de solicitud. Las solicitudes externas no están autorizadas para establecer estos encabezados, por lo que solo están presentes si App Service los establece. A continuación puede ver algunos encabezados de ejemplo:

  • X-MS-CLIENT-PRINCIPAL-NAME
  • X-MS-CLIENT-PRINCIPAL-ID

El código escrito en cualquier lenguaje o plataforma puede obtener la información que necesita de estos encabezados.

Nota

Los distintos marcos de lenguaje pueden presentar estos encabezados al código de la aplicación en formatos diferentes, como minúsculas o mayúsculas.

Para las aplicaciones de ASP.NET 4.6, App Service rellena ClaimsPrincipal.Current con las notificaciones del usuario autenticado, de forma que usted puede seguir el patrón de código de .NET estándar, incluido el atributo [Authorize]. De forma similar, para las aplicaciones PHP, App Service rellena la variable _SERVER['REMOTE_USER']. En el caso de las aplicaciones Java, se puede acceder a las notificaciones desde el servlet Tomcat.

Para Azure Functions, ClaimsPrincipal.Current no está relleno para el código .NET, pero todavía puede encontrar las notificaciones de usuario en los encabezados de solicitudes, u obtener el objeto ClaimsPrincipal del contexto de la solicitud o incluso a través de un parámetro de enlace. Consulte Uso de identidades de cliente en Azure Functions para más información.

Para .NET Core, Microsoft.Identity.Web admite rellenar el usuario actual con la autenticación de App Service. Para más información, vea la wiki de Microsoft.Identity.Web o consulte una demostración en este tutorial para una aplicación web que accede a Microsoft Graph.

Acceso a notificaciones de usuario mediante la API

Si el almacén de tokens está habilitado para la aplicación, también puede obtener detalles adicionales sobre el usuario autenticado mediante una llamada a /.auth/me.

Pasos siguientes