Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Static Web Apps proporciona una experiencia de autenticación simplificada, donde no se requiere ninguna configuración adicional para usar GitHub y Microsoft Entra ID para la autenticación. Todas las características enumeradas en este artículo están disponibles en todos los planes de Static Web Apps.
En este artículo, obtendrá información sobre el comportamiento predeterminado, cómo configurar tanto el inicio como el cierre de sesión, cómo bloquear un proveedor de autenticación, etc. Para leer los detalles de autenticación de un uso específico, consulte Acceso a la información del usuario.
Puede registrar un proveedor personalizado que deshabilite todos los proveedores preconfigurados.
Advertencia
Debido a los cambios en la directiva de API de X (anteriormente Twitter), el soporte técnico no está disponible como parte de los proveedores preconfigurados para la aplicación. Si quiere seguir usando X (anteriormente Twitter) para la autenticación o autorización con la aplicación, actualice la configuración de la aplicación para registrar un proveedor personalizado.
Requisitos previos
Debe conocer los siguientes valores predeterminados y recursos para la autenticación y autorización con Azure Static Web Apps.
Valores predeterminados:
- Cualquier usuario puede autenticarse con un proveedor preconfigurado
- GitHub
- Microsoft Entra ID
- Para restringir un proveedor de autenticación, bloquee el acceso con una regla de ruta personalizada.
- Tras el inicio de sesión, los usuarios pertenecen a los roles
anonymous
yauthenticated
. Para más información sobre los roles, consulte Administración de roles
Recursos:
- Defina en el archivo staticwebapp.config.json las reglas para que los usuarios autorizados puedan obtener acceso a las rutas restringidas.
- Asigne roles personalizados a los usuarios mediante el sistema de invitaciones integrado.
- Asigne roles personalizados a los usuarios mediante programación en el inicio de sesión con una función de API.
- Debe saber que la autenticación y autorización se solapan considerablemente con los conceptos de enrutamiento, que se detallan en la guía de configuración de aplicaciones.
- Restrinja el inicio de sesión a un inquilino específico de Microsoft Entra ID mediante configurar un proveedor de identificadores de Microsoft Entra ID personalizado. El proveedor de Microsoft Entra ID preconfigurado permite que cualquier cuenta de Microsoft inicie sesión.
Configuración del inicio de sesión
Azure Static Web Apps usa la carpeta del sistema /.auth
para proporcionar acceso a las API relacionadas con la autorización. En lugar de exponer las rutas de la carpeta /.auth
directamente a los usuarios finales, cree reglas de enrutamiento para direcciones URL descriptivas.
Use la siguiente tabla para buscar la ruta específica de los proveedores.
Proveedor de autorización | Ruta de inicio de sesión |
---|---|
Microsoft Entra ID | /.auth/login/aad |
GitHub | /.auth/login/github |
Por ejemplo, para iniciar sesión con GitHub, podría usar una dirección URL similar al ejemplo siguiente.
<a href="/.auth/login/github">Login</a>
Si decide admitir más de un proveedor, use un vínculo específico del proveedor para cada proveedor de su sitio web. Use una regla de ruta para asignar un proveedor predeterminado a una ruta descriptiva, como /login.
{
"route": "/login",
"redirect": "/.auth/login/github"
}
Configuración del redireccionamiento posterior al inicio de sesión
Puede devolver un usuario a una página específica después de iniciar sesión proporcionando una dirección URL completa en el parámetro de cadena de consulta post_login_redirect_uri
.
<a href="/.auth/login/github?post_login_redirect_uri=https://zealous-water.azurestaticapps.net/success">Login</a>
You can also redirect unauthenticated users back to the referring page after they sign in. To add this redirect, create a response override rule that sets post_login_redirect_uri
to .referrer
, like in the following example.
{
"responseOverrides": {
"401": {
"redirect": "/.auth/login/github?post_login_redirect_uri=.referrer",
"statusCode": 302
}
}
}
Configuración del cierre de sesión
La ruta /.auth/logout
cierra la sesión de los usuarios en el sitio web. Puede agregar un vínculo a la navegación del sitio para permitir que el usuario cierre la sesión, como se muestra en el ejemplo siguiente.
<a href="/.auth/logout">Log out</a>
Use una regla de ruta para asignar una ruta descriptiva, como /logout.
{
"route": "/logout",
"redirect": "/.auth/logout"
}
Configuración del redireccionamiento posterior al cierre de sesión
Para devolver a cualquier usuario a una página concreta después de que haya cerrado sesión, especifique una dirección URL en el parámetro de la cadena de consulta post_logout_redirect_uri
.
Bloqueo de un proveedor de autenticación
De forma predeterminada, todos los proveedores de autenticación están habilitados, pero es posible que quiera restringir que la aplicación use un proveedor. Por ejemplo, es posible que la aplicación quiera usar solo proveedores de que expongan direcciones de correo electrónico.
Para bloquear un proveedor, cree una regla de ruta para devolver un código de estado de 404
para las solicitudes a la ruta específica del proveedor bloqueado. Por ejemplo, para restringir Entra ID (anteriormente Azure Active Directory, conocido como proveedor "AAD"), agregue la siguiente regla de ruta.
{
"route": "/.auth/login/aad",
"statusCode": 404
}
Eliminación de datos personales
Al dar consentimiento a una aplicación como usuario final, esta tiene acceso a su dirección de correo electrónico o nombre de usuario, según el proveedor de identidades. Una vez que se proporcione esta información, el propietario de la aplicación puede decidir cómo administrar los datos personales.
Los usuarios finales deben ponerse en contacto con los administradores de las aplicaciones web individuales para revocar esta información de sus sistemas.
Para quitar datos personales de la plataforma de Azure Static Web Apps e impedir que la plataforma proporcione esta información en futuras solicitudes, envíe una solicitud mediante la siguiente dirección URL:
https://identity.azurestaticapps.net/.auth/purge/<AUTHENTICATION_PROVIDER_NAME>
To prevent the platform from providing this information on future requests to individual apps, submit a request using the following URL:
https://<WEB_APP_DOMAIN_NAME>/.auth/purge/<AUTHENTICATION_PROVIDER_NAME>
If you're using Microsoft Entra ID, use aad
as the value for the <AUTHENTICATION_PROVIDER_NAME>
placeholder.
Tip
For information about general restrictions and limitations, see Quotas.