Autenticación OIDC de Entra ID (vista previa)
Esta sección describe cómo configurar NetScaler y StoreFront para que los usuarios puedan autenticarse con Entra ID. En esta configuración, los usuarios pueden tener una identidad híbrida o una identidad solo de Entra sin una cuenta de Active Directory.
IMPORTANTE:
El inicio de sesión único de Entra ID en VDA se encuentra actualmente en vista previa. Esta función se proporciona sin soporte y aún no se recomienda para su uso en entornos de producción.
Requisitos previos
- NetScaler ADC
- StoreFront 2603 o superior
- Microsoft Entra ID y una cuenta con uno de los siguientes permisos:
- Administrador de aplicaciones en la nube
- Administrador de aplicaciones
- Administrador global
Crear una aplicación de Microsoft Azure Entra ID
Un registro de aplicación en Microsoft Entra ID define su aplicación para que Entra ID la reconozca (en este caso, NetScaler OIDC). Este registro también gestiona las solicitudes de autenticación y autorización de la aplicación. Dado que OAuth requiere un proveedor de identidades (IdP) de confianza para autenticar a los usuarios y emitir tokens, registrar su aplicación le indica a Entra ID: “Esta aplicación le utiliza como su IdP para los flujos de OAuth”.
- Inicie sesión en el portal de Azure para el inquilino de Entra ID que utiliza para la autenticación de NetScaler o StoreFront.
- Vaya a Recurso de Microsoft Entra ID > Administrar > Registros de aplicaciones y, a continuación, seleccione Nuevo registro.
- Asigne un nombre a la aplicación, por ejemplo, NetScaler StoreFront Authentication.
- En Tipos de cuenta admitidos, seleccione Cuentas solo en este directorio organizativo.
-
En URI de redirección, seleccione Web para el tipo de aplicación que desea crear. Introduzca el URI al que se envía el token de acceso. Utilice el formato <URL del servidor virtual de NetScaler>/oauth/login, por ejemplo
https://netscalerentra.customer.com/oauth/login.
Crear secreto de cliente
Para crear un secreto de cliente:
- Después de registrar la aplicación, vaya a Administrar > Certificados y secretos.
- Seleccione Secretos de cliente y, a continuación, seleccione Nuevo secreto de cliente. Su aplicación utiliza estas credenciales para comunicarse de forma segura con el IdP y solicitar tokens.
- Proporcione una descripción del secreto y una duración.
- Después de crear el secreto, registre su valor, ya que lo necesitará más adelante en el proceso de configuración y solo es visible durante esta fase de creación.

Configurar permisos de aplicación
Para configurar los permisos de la aplicación:
- Vaya a Administrar > Registros de aplicaciones y, a continuación, seleccione su aplicación.
- Seleccione Administrar > Permisos de API.
- El permiso User.Read ya está añadido por defecto.
- Añada openid y profile.
- Seleccione Conceder consentimiento de administrador para <tenant name> y acepte.
«Conceder consentimiento de administrador para» en los permisos de API de Microsoft Entra ID significa que un administrador da su aprobación, en nombre de todos los usuarios de la organización, para que una aplicación acceda a recursos o API específicos con los permisos solicitados.

Configurar Citrix DaaS para habilitar la confianza XML
De forma predeterminada, Citrix DaaS autentica las solicitudes mediante las credenciales de Active Directory del usuario. Con la autenticación de Entra ID, StoreFront no tiene las credenciales. Por lo tanto, debe configurar DaaS para que confíe en StoreFront sin necesidad de autenticación. Se recomienda encarecidamente que habilite las claves de seguridad para proporcionar autenticación a nivel de servicio en su lugar.
- Inicie sesión en Citrix Cloud y vaya a la consola de DaaS.
- Vaya a Configuración.
-
Active la confianza XML.

- (Paso opcional) Para mayor seguridad, puede habilitar las claves de seguridad entre DaaS y StoreFront. Para obtener más información, consulte Administrar claves de seguridad en la documentación de Citrix DaaS™.
Configurar el perfil de autenticación de NetScaler
Esta sección describe cómo configurar un perfil de autenticación de NetScaler que puede vincular a su servidor virtual VPN de puerta de enlace. Esta configuración indica al ADC cómo redirigir a los usuarios a un IdP de OAuth externo (como Microsoft Entra ID) para iniciar sesión y cómo gestionar los tokens de OAuth recibidos después de la autenticación. Especifica los puntos finales, las credenciales de cliente, los ámbitos y cómo el ADC extrae la información del usuario de los tokens.
Necesita el secreto de cliente de los pasos anteriores y los puntos finales de autenticación de Microsoft Entra ID. Puede encontrar los puntos finales de autenticación en el portal de Azure yendo a la Descripción general del registro de aplicaciones y haciendo clic en la ficha Puntos finales.
Crear servidor virtual de autenticación
El servidor virtual de autenticación gestiona la autenticación de usuarios.
add authentication vserver EntraId_Authentication_VirtualServer SSL 0.0.0.0 443 \
-state ENABLED \
-authentication ON \
-td 0 -appflowLog ENABLED \
-noDefaultBindings NO
<!--NeedCopy-->
Crear política y acción de OAuth
La acción de OAuth especifica cómo NetScaler ADC interactúa con un IdP de OAuth como Microsoft Entra ID. Esta acción permite que Citrix Gateway redirija a los usuarios al IdP para iniciar sesión y gestione el token de OAuth devuelto. Establece userNameField en oid, lo que hace que el gateway pase el OID como nombre de usuario al autenticarse en StoreFront. StoreFront valida que el OID coincida con los detalles que obtiene al buscar el token de acceso de Entra ID; de lo contrario, la autenticación falla.
Necesita el ID de cliente y el secreto de cliente de los pasos anteriores.
add authentication OAuthAction EntraId_Oauth_Server \
-authorizationEndpoint "https://login.microsoftonline.com/<TenantId>/oauth2/v2.0/authorize\?prompt=login" \
-tokenEndpoint "https://login.microsoftonline.com/<TenantId>/oauth2/v2.0/token" \
-clientID <ClientId> \
-clientSecret <ClientSecret> \
-Attribute1 email \
-Attribute2 family_name \
-Attribute3 given_name \
-Attribute4 upn \
-CertEndpoint "https://login.microsoftonline.com/<TenantId>/discovery/v2.0/keys" \
-userNameField oid \
-allowedAlgorithms HS256 RS256 RS512 \
-PKCE ENABLED \
-tokenEndpointAuthMethod client_secret_post \
-OAuthType GENERIC \
-grantType CODE \
-refreshInterval 1440
add authentication Policy EntraId_Authentication_Policy \
-rule true \
-action EntraId_Oauth_Server
<!--NeedCopy-->
authorizationEndpoint incluye el parámetro de cadena de consulta prompt=login para que los usuarios se vean obligados a volver a autenticarse cuando intenten acceder a StoreFront a través de NetScaler.
Vincular la política de autenticación al servidor virtual
bind authentication vserver EntraId_Authentication_VirtualServer \
-policy EntraId_Authentication_Policy \
-priority 100 \
-gotoPriorityExpression END
<!--NeedCopy-->
Crear perfil de autenticación
add authentication authnProfile EntraId_Auth_Profile \
-authnVsName EntraId_Authentication_VirtualServer \
-AuthenticationLevel 0
<!--NeedCopy-->
Crear servidor virtual VPN y vincular el perfil de autenticación
Complete los pasos 1, 2 y 4 de Integrar NetScaler Gateway con StoreFront, utilizando el perfil de autenticación creado en los pasos anteriores.
Alternativamente, si ya tiene un Citrix Gateway adecuado, puede vincularle el nuevo perfil de autenticación. La ejecución de este comando reemplaza el perfil de autenticación existente.
set vpn vserver <StoreFront ICA Proxy vServer> \
-authentication ON \
-authnProfile EntraId_Auth_Profile
<!--NeedCopy-->
Configuración de inyección de tokens de Entra ID para SSO en StoreFront
Después de que el gateway de Citrix autentique al usuario, debe pasar suficiente información a StoreFront para que este pueda validar que el usuario está autenticado y buscar la pertenencia a grupos. De forma predeterminada, el gateway de Citrix solo envía el nombre de usuario y la contraseña de Active Directory. En el caso de la autenticación de Entra ID, debe pasar el token de acceso de Entra ID para que StoreFront pueda buscar información del usuario mediante la API de Microsoft Graph. Para lograr esto, debe agregar una política de reescritura que añada el token de Entra ID a la llamada que realiza para autenticar al usuario en StoreFront. Si la política de reescritura del token de acceso de Entra ID no surte efecto, el inicio de sesión fallará. Si la función de política de reescritura está deshabilitada de forma predeterminada y aún no está habilitada, debe habilitarla primero.
enable ns feature Rewrite
add rewrite action EntraId_Oauth_Insert_AccessToken_Header insert_http_header X-Citrix-OIDC-Access-Token "AAA.USER.ATTRIBUTE(\"accesstoken\")" \
-comment "A rewrite policy to add the OAUTH access_token to subsequent user authentication requests"
add rewrite policy EntraId_Oauth_Insert_AccessToken_Policy "HTTP.REQ.URL.TO_LOWER.ENDSWITH(\"gatewayauth/login\") || HTTP.REQ.URL.TO_LOWER.ENDSWITH(\"citrixagbasic/authenticate\")" EntraId_Oauth_Insert_AccessToken_Header \
-comment "A rewrite policy to add the OAUTH access_token to subsequent user authentication requests"
bind vpn vserver <StoreFront ICA Proxy vServer> \
-policy EntraId_Oauth_Insert_AccessToken_Policy \
-priority 100 \
-gotoPriorityExpression END \
-type REQUEST
<!--NeedCopy-->
Configurar Citrix Gateway en StoreFront
-
Configure las Citrix Gateways.
-
Establezca el tipo de inicio de sesión en Dominio.
-
Especifique una URL de devolución de llamada válida. Esto es necesario para la autenticación de Entra ID con StoreFront.
-
-
Configure la gateway para el acceso remoto para el Store que agrega los recursos de Citrix DaaS.
-
En la pantalla Administrar métodos de autenticación, habilite Pass-through from Citrix Gateway y configure la configuración de Entra ID
En este artículo
- Requisitos previos
- Crear una aplicación de Microsoft Azure Entra ID
- Crear secreto de cliente
- Configurar permisos de aplicación
- Configurar Citrix DaaS para habilitar la confianza XML
- Configurar el perfil de autenticación de NetScaler
- Configuración de inyección de tokens de Entra ID para SSO en StoreFront
- Configurar Citrix Gateway en StoreFront