Autenticación SAML
SAML (Security Assertion Markup Language) es un estándar abierto utilizado por productos de identidad y autenticación. Con SAML, puede configurar StoreFront para redirigir a los usuarios a un proveedor de identidades externo para la autenticación.
Nota
Configure StoreFront con autenticación SAML para acceso interno. Para acceso externo, configure Citrix Gateway con autenticación SAML y luego configure StoreFront con autenticación de paso de Gateway.
StoreFront requiere un proveedor de identidades (IdP) compatible con SAML 2.0, como:
- Microsoft AD Federation Services utilizando enlaces SAML (no enlaces WS-Federation). Para obtener más información, consulte CTX220638.
- Citrix Gateway (configurado como un IdP).
- Microsoft Entra ID. Para obtener más información, consulte CTX237490.
La aserción SAML debe contener un atributo saml:Subject que contenga el UPN del usuario. StoreFront busca este UPN en Active Directory. StoreFront no admite usuarios en otros directorios. Al usar Entra ID, el usuario debe tener una identidad híbrida.
Para habilitar o deshabilitar la autenticación SAML para un almacén, en la ventana Métodos de autenticación seleccione Autenticación SAML. Habilitar la autenticación SAML para un almacén también la habilita por defecto para todos los sitios web de ese almacén. Puede deshabilitar o habilitar la autenticación SAML de forma independiente para cada sitio web en la pestaña Métodos de autenticación.
Puntos finales SAML de StoreFront™
Para configurar SAML, su proveedor de identidades puede requerir los siguientes puntos finales:
- La URL del ID de entidad. Esta es la ruta al servicio de autenticación del almacén, normalmente
https://[storefront host]/Citrix/[StoreName]Auth - La URL del Servicio de Consumidor de Aserciones, normalmente
https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/AssertionConsumerService - El servicio de metadatos, normalmente
https://[storefront host]/Citrix/[StoreName]Auth/SamlForms/ServiceProvider/Metadata
Además, hay un punto de conexión de prueba, normalmente https://[storefront host]/Citrix/[StoreName]Auth/SamlTest
Puede usar el siguiente script de PowerShell para enumerar los puntos de conexión de un almacén específico.
# Change this value for your Store
$storeVirtualPath = "/Citrix/Store"
$auth = Get-STFAuthenticationService -Store (Get-STFStoreService -VirtualPath $storeVirtualPath)
$spId = $auth.AuthenticationSettings["samlForms"].SamlSettings.ServiceProvider.Uri.AbsoluteUri
$acs = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlForms/AssertionConsumerService")
$md = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlForms/ServiceProvider/Metadata")
$samlTest = New-Object System.Uri $auth.Routing.HostbaseUrl, ($auth.VirtualPath + "/SamlTest")
Write-Host "SAML Service Provider information:
Entity ID: $spId
Assertion Consumer Service: $acs
Metadata: $md
Test Page: $samlTest"
<!--NeedCopy-->
Ejemplo de la salida:
SAML Service Provider information:
Entity ID: https://storefront.example.com/Citrix/StoreAuth
Assertion Consumer Service: https://storefront.example.com/Citrix/StoreAuth/SamlForms/AssertionConsumerService
Metadata: https://storefront.example.com/Citrix/StoreAuth/SamlForms/ServiceProvider/Metadata
Test Page: https://storefront.example.com/Citrix/StoreAuth/SamlTest
<!--NeedCopy-->
Configurar mediante el intercambio de metadatos
Para simplificar la configuración, puede intercambiar metadatos (identificadores, certificados, puntos de conexión y otra configuración) entre el proveedor de identidades y el proveedor de servicios, que en este caso es StoreFront.
Si su proveedor de identidades admite la importación de metadatos, puede apuntarlo al punto de conexión de metadatos de StoreFront. Nota: Esto debe hacerse a través de HTTPS.
Para configurar StoreFront utilizando los metadatos de un proveedor de identidades, use el cmdlet Update-STFSamlIdPFromMetadata, por ejemplo:
Get-Module "Citrix.StoreFront*" -ListAvailable | Import-Module
# Remember to change this with the virtual path of your Store.
$StoreVirtualPath = "/Citrix/Store"
$store = Get-STFStoreService -VirtualPath $StoreVirtualPath
$auth = Get-STFAuthenticationService -StoreService $store
# To read the metadata directly from the Identity Provider, use the following:
# Note again this is only allowed for https endpoints
Update-STFSamlIdPFromMetadata -AuthenticationService $auth -Url https://example.com/FederationMetadata/2007-06/FederationMetadata.xml
# If the metadata has already been download, use the following:
# Note: Ensure that the file is encoded as UTF-8
Update-STFSamlIdPFromMetadata -AuthenticationService $auth -FilePath "C:\Users\exampleusername\Downloads\FederationMetadata.xml"
<!--NeedCopy-->
Configurar proveedor de identidades
-
Haga clic en el menú desplegable de configuración en la fila Autenticación SAML y haga clic en Proveedor de identidades.


-
Elija Enlace SAML de Post o Redirect.
-
Introduzca la Dirección del proveedor de identidades.
-
Importe el certificado utilizado para firmar los tokens SAML.
-
Pulse Aceptar para guardar los cambios.
Configurar proveedor de servicios
-
Haga clic en el menú desplegable de configuración en la fila de Autenticación SAML y haga clic en Proveedor de servicios.
Captura de pantalla de la ventana del proveedor de identidades(/es-es/storefront/current-release/media/stores/authentication/saml-service-provider.png)
-
Opcionalmente, elija un Certificado de firma de exportación, utilizado para firmar mensajes al proveedor de identidades.
-
Opcionalmente, elija un Certificado de cifrado de exportación, utilizado para descifrar mensajes recibidos del proveedor de identidades.
-
El Identificador de proveedor de servicios se rellena previamente con el servicio de autenticación para la tienda.
-
Pulse Aceptar para guardar los cambios.
PowerShell
Uso de PowerShell:
-
Para importar un certificado de firma, llame al cmdlet Import-STFSamlSigningCertificate.
-
Para importar un certificado de cifrado, llame al cmdlet Import-STFSamlEncryptionCertificate.
Pruebas
Para probar la integración de SAML:
- Vaya a la página de prueba de SAML; consulte Puntos de conexión SAML de StoreFront.
- Esto le redirige al proveedor de identidades. Introduzca sus credenciales.
- Se le redirige de nuevo a la página de prueba que muestra las notificaciones de identidad y las aserciones.
Configurar Delivery Controller™ para que confíe en StoreFront
Al usar la autenticación SAML, StoreFront no tiene acceso a las credenciales del usuario, por lo que no puede autenticarse en Citrix Virtual Apps and Desktops. Por lo tanto, debe configurar el Delivery Controller para que confíe en las solicitudes de StoreFront; consulte Consideraciones de seguridad y prácticas recomendadas de Citrix Virtual Apps and Desktops.
Inicio de sesión único en VDA
Al usar la autenticación SAML, StoreFront no tiene acceso a las credenciales del usuario, por lo que el inicio de sesión único en los VDA no está disponible de forma predeterminada. Hay las siguientes opciones:
- Para recursos unidos a Active Directory, use Federated Authentication Service para proporcionar inicio de sesión único.
- Para recursos híbridos unidos a Entra, use Entra ID SSO
Problemas conocidos
La autenticación puede fallar con el error HTTP 404.15 - No encontrado. Esto ocurre cuando la cadena de consulta es demasiado larga y es bloqueada por el filtrado de solicitudes de IIS. De forma predeterminada, IIS establece un límite de cadena de consulta de 2048 y una longitud total de URL de 4096. Para solucionar esto, aumente la longitud máxima de la URL y de la cadena de consulta.
-
Abra el Administrador de Internet Information Services (IIS).
-
En el panel Conexiones, expanda el servidor y seleccione el directorio virtual de autenticación.
-
Desde el panel principal, abra Filtrado de solicitudes.

-
En el panel Acciones, haga clic en Editar configuración de características…
-
Aumente la Longitud máxima de URL (bytes) y la Longitud máxima de cadena de consulta (bytes).
Captura de pantalla de la configuración de filtrado de solicitudes del administrador de IIS(/es-es/storefront/current-release/media/stores/authentication/iis-request-filtering-2.png)
-
Seleccione Aceptar para guardar los cambios.