Autenticación OpenID Connect

Configure OpenID Connect en GO-Global, habilite el inicio de sesión automático en Windows, sincronice los usuarios de AD y optimice la autenticación segura en todo su entorno.

Publicado el:
21 de abril de 2026
Última actualización el:
21 de abril de 2026
Índice

Autenticación OpenID Connect

OpenID Connect (OIDC) ofrece a las organizaciones una forma moderna y segura de autenticar a los usuarios, al tiempo que agiliza el acceso a las aplicaciones de Windows alojadas en GO-Global. Mediante la integración con proveedores de identidad como Okta, Azure AD o ADFS, los administradores pueden centralizar la autenticación y mejorar la experiencia de inicio de sesión de los usuarios, independientemente de si estos inician sesión con cuentas locales de Windows, cuentas de dominio o ambas. Esta guía explica cómo habilitar la autenticación OIDC en GO-Global, configurar los inicios de sesión automáticos en Windows, asociar cuentas de proveedores de identidad a usuarios de Active Directory y gestionar los ajustes adicionales necesarios para un acceso fluido. También aborda opciones avanzadas como la personalización de los campos de nombre de usuario, la gestión de la creación de cuentas locales, la configuración de permisos y la recuperación de tokens OIDC mediante programación.

Una vez que el usuario se ha autenticado mediante OIDC, GO-Global ofrece a los administradores varias opciones para autenticar al usuario automáticamente en Windows. Por ejemplo, si el proveedor de identidad está integrado con el Active Directory de la organización, GO-Global puede iniciar sesión automáticamente en la cuenta de dominio del usuario. Por otra parte, si no se requiere o no se desea la integración con Active Directory, GO-Global puede crear una cuenta local de Windows para el usuario e iniciar sesión automáticamente en dicha cuenta. La compatibilidad con el inicio de sesión único es una opción adicional. La autenticación OpenID Connect aparecerá desactivada (en gris) a menos que se haya adquirido la función.

Para habilitar la autenticación OpenID Connect

  1. Haga clic en Herramientas | Opciones del host.
  2. Haz clic en la pestaña «Autenticación ».
  3. Habilita la autenticación OpenID Connect.
  4. Seleccione una de las siguientes opciones, o ninguna:
    • Iniciar sesión automáticamente en cuentas locales de Windows. Cuando esta opción está activada, GO-Global creará automáticamente una cuenta de usuario local para aquellos usuarios que no dispongan de una cuenta de dominio.
    • Iniciar sesión automáticamente en las cuentas de dominio de los usuarios. Cuando esta opción está habilitada, GO-Global intenta realizar un inicio de sesión S4U utilizando el UPN del usuario, que obtiene del proveedor de identidad OIDC tras un inicio de sesión correcto mediante OpenID Connect. Por sí solo, un inicio de sesión S4U permitirá a los usuarios acceder a los recursos del host GO-Global, pero los usuarios no podrán autenticarse en los servicios que se ejecutan en la red. Para acceder a los servicios que se ejecutan en la red, los administradores deben habilitar la delegación restringida (tal y como se describe en el Requisitos de configuración para la compatibilidad con la delegación (artículo) o activar la Opción «Almacenar contraseñas en el servidor».

      • Si una aplicación alojada en GO-Global puede ejecutarse con una cuenta local en el servidor GO-Global, se debe seleccionar la opción «Iniciar sesión automáticamente en cuentas locales de Windows». Por el contrario, si la aplicación requiere acceso a recursos gestionados por Active Directory, se debe seleccionar la opción «Iniciar sesión automáticamente en sus cuentas de dominio». En este último caso, el proveedor de identidades debe estar integrado con Active Directory para que pueda proporcionar a GO-Global el UPN del usuario.
      • Si no se ha seleccionado ni «Iniciar sesión automáticamente en cuentas locales de Windows» ni «Iniciar sesión automáticamente en cuentas de dominio», se pedirá a los usuarios que inicien sesión en Windows según lo especificado en las demás opciones de la pestaña «Autenticación». Por ejemplo, si están habilitadas tanto la autenticación OpenID Connect como la autenticación estándar, se pedirá a los usuarios que inicien sesión dos veces. En primer lugar, se les pedirá que inicien sesión en el proveedor de identidad de OpenID Connect. A continuación, tras autenticarse correctamente con el proveedor de identidad de OpenID Connect, se les pedirá que introduzcan el nombre de usuario y la contraseña de una cuenta de Windows.

  5. Escribe la cadena de identificación del cliente que figura en la configuración de tu servidor OpenID Connect en el cuadro «Identificación del cliente ».
  6. Escribe la cadena del secreto de cliente de la configuración de tu servidor OpenID Connect en el cuadro «Secreto de cliente ».
  7. Escribe la URL de autorización que se utiliza para autenticar a los usuarios en tu servidor OpenID Connect en el cuadro «URL de autorización ».
  8. Escribe la URL del token que se utiliza para autenticar a los usuarios en tu servidor OpenID Connect en el cuadro «URL del token ».
  9. En el cuadro «URL de redireccionamiento», escribe la URL que el proveedor de identidad debe utilizar para redirigir a los usuarios de vuelta al host de GO-Global una vez que se hayan autenticado correctamente. Debe ser la misma URL base que utilizan los usuarios para acceder al host de GO-Global, con «callback.html» añadido al final. Por ejemplo, si utiliza un servidor web independiente como IIS y TLS no está habilitado, la URL de devolución de llamada sería http://hostname/goglobal/callback.html. Por otra parte, si utiliza el servidor web integrado de GO-Global y TLS no está habilitado, y GO-Global está configurado para aceptar conexiones en su puerto predeterminado, el 491, la URL de devolución de llamada sería http://hostname:491/callback.html.
  10. Haga clic en Aceptar.

Asignación de usuarios de Active Directory a cuentas del proveedor de identidad

GO-Global ofrece varias opciones para obtener el UPN de un usuario a partir de las propiedades de un token de identidad OIDC. Las cuentas de usuario deben coincidir de una de estas tres formas en Active Directory (AD) y en el proveedor de identidad.

Hay tres formas de lograrlo:

  • El nombre principal de usuario (UPN) nativo del usuario ya coincide con , el nombre de usuario del proveedor de identidad. Por ejemplo, el dominio local de AD es example.com y el dominio del proveedor de identidad también es example.com. De forma predeterminada, GO-Global busca un UPN válido en los campos email, UPN, sub y userid del token de identificación, en ese orden. Como alternativa, los administradores pueden especificar la reclamación que contiene el UPN a través de la propiedad OpenIDConnectUserNameField en HostProperties.xml.
  • Añade un sufijo UPN y utilízalo para los nombres de usuario de AD, de modo que el UPN de AD y el UPN del proveedor de identidad coincidan. Por ejemplo, el dominio local de AD es company.local, pero añade un sufijo UPN para los usuarios llamado example.com. El dominio del proveedor de identidad también es example.com.
  • Configure el atributo de correo de AD del usuario para que coincida con el UPN del proveedor de identidad y modifique una configuración en HostProperties.xml. En algunas implementaciones, no hay ninguna reclamación en el token de identificación que coincida con el UPN de AD del usuario. Por ejemplo, en un entorno de alojamiento en el que se utiliza el proveedor de identidad del cliente, el dominio del cliente (p. ej., customercompany.com) no coincidirá con el dominio de AD del entorno de alojamiento (p. ej., hostedapp.com). Dado que se utiliza el proveedor de identidad del cliente, los administradores del entorno de alojamiento no podrán añadir una reclamación a los tokens de identificación OIDC de los usuarios que especifique el UPN de AD.

    En situaciones como esta, los administradores pueden configurar GO-Global para que busque el UPN de AD del usuario a través de su dirección de correo electrónico. Esto se consigue estableciendo el valor de la propiedad OpenIDConnectUserLookupByEmail en HostProperties.xml en «true» en todos los hosts aplicables. Cuando esta propiedad se establece en «true», GO-Global busca en Active Directory una cuenta de usuario con un atributo de correo electrónico que coincida con la reclamación de correo electrónico del token de identificación OIDC.

Almacenamiento de nombres de usuario en campos alternativos

De forma predeterminada, GO-Global obtiene el nombre de usuario de Windows a partir del nombre principal de usuario (U PN) o de la dirección de correo electrónico especificados por el proveedor de identidad en el token de identificación OpenID Connect del usuario. Sin embargo, si el proveedor de identidad está configurado para almacenar el nombre de usuario de Windows del usuario en un campo alternativo, los administradores pueden configurar GO-Global para que utilice dicho campo introduciendo el nombre del campo en la propiedad `OpenIDConnectUserNameField` del archivo `HostProperties.xml`.

Para configurar la propiedad OpenIDConnectUserNameField

  1. Detenga el Servicio de publicación de aplicaciones.
  2. Abre %PROGRAMDATA%\GraphOn\GO-Global\HostProperties.xml en un editor de texto.
  3. Busca la propiedad «OpenIDConnectUserNameField» y cambia el valor por el nombre de la reclamación del token OpenID Connect del usuario que contenga el nombre principal de usuario (UPN) que GO-Global debe utilizar para autenticar al usuario en Windows.
  4. Guarda el archivo HostProperties.xml.
  5. Reinicie el servicio de publicación de aplicaciones.

Cuando se habilita la opción «Iniciar sesión automáticamente en cuentas locales de Windows», los nombres de las cuentas de usuario locales se generan a partir del nombre principal de usuario (UPN) o de la dirección de correo electrónico obtenidos mediante la autenticación OpenID Connect. Dado que las cuentas locales no pueden contener los caracteres «@» ni «.», estos se sustituyen por «_» y «-», respectivamente. Por ejemplo, la dirección de correo electrónico sales@graphon.com se convertiría en sales_graphon-com.

Nota: Windows tiene un límite de 20 caracteres para los nombres de cuentas locales. Si el nombre de la cuenta generada tiene más de 20 caracteres, GO-Global lo acorta a 20 caracteres

Las contraseñas de estas cuentas se componen de caracteres seleccionados aleatoriamente entre las letras minúsculas, las mayúsculas, los números y los caracteres especiales !@#$%& . La longitud de la contraseña que genera GO-Global será igual a la longitud mínima especificada para los usuarios en el ordenador, a menos que dicha longitud mínima sea inferior a 7. En ese caso, GO-Global generará una contraseña que tenga 14 caracteres más que el requisito de longitud mínima. Por ejemplo, si la longitud mínima de contraseña del ordenador es 6, GO-Global generará una contraseña de 20 caracteres, con el siguiente formato: 8tw@m4b9Dek#vR76@t6%. Si GO-Global no puede obtener la longitud mínima de contraseña del ordenador, generará una contraseña de 14 caracteres.
 
Si el requisito de longitud mínima se establece mediante la Política de grupo, habilite la Política de grupo en la pestaña Inicio de sesión del cuadro de diálogo Opciones de host. Estas contraseñas no se guardan ni se reutilizan. La contraseña se cambia con cada autenticación de OpenID Connect.

Los permisos para las aplicaciones de Windows alojadas en sesiones de GO-Global no son gestionados por proveedores de identidad como Okta o ADFS. Se gestionan en Windows o Active Directory.

La integración con Active Directory es una función del proveedor de identidad. Active Directory Federated Services (ADFS) se integra automáticamente con Active Directory. Otros proveedores de identidad ofrecen sus propias integraciones. Las organizaciones que utilizan un proveedor de identidad ya lo habrán configurado. Las organizaciones que estén configurándolo por primera vez deberán consultar la documentación de su proveedor de identidad para saber cómo hacerlo.

Para obtener más información sobre Okta, visite: https://help.okta.com/en/prod/Content/Topics/Directory/ad-agent-main.htm.

Cuando utilice Azure, asegúrese de utilizar las URL del punto final de autorización de OAuth 2.0 (v1) y del punto final de token de OAuth 2.0 (v1). Las URL de los puntos finales v2 no funcionarán.

Al utilizar ADFS, seleccione Aplicación de servidor al crear la aplicación OIDC.

Conceder derechos de ejecución y activación de COM a los usuarios estándar

De forma predeterminada, Windows no concede a los usuarios estándar que no hayan iniciado sesión de forma interactiva introduciendo un nombre de usuario y una contraseña el derecho a iniciar y activar objetos COM. Como consecuencia, es posible que aplicaciones como el Explorador de archivos de Windows, que dependen de interfaces COM, solo se ejecuten o funcionen correctamente para los usuarios que pertenezcan al grupo Administradores cuando se utilice la autenticación OpenID Connect. Por lo tanto, cuando la autenticación OIDC esté habilitada, conceda a los usuarios estándar los derechos COM de inicio y activación de la siguiente manera:

  1. Ejecuta dcomcnfg.
  2. Ve a Servicios de componentes | Equipos | Mi PC.
  3. Haz clic con el botón derecho del ratón en «Mi PC » y selecciona «Propiedades».
  4. Selecciona la pestaña «Seguridad COM ».
  5. En «Permisos de inicio y activación», haz clic en el botón «Editar valores predeterminados... ».
  6. Haz clic en el botón «Añadir ». (Nota: Los permisos predeterminados otorgan derechos completos a los grupos INTERACTIVE y Administradores. Por eso funciona para todos los usuarios autenticados mediante nombre de usuario y contraseña (usuarios INTERACTIVE) y para los miembros del grupo Administradores cuando se utiliza OIDC.
  7. Añade el grupo de usuarios del dominio.
  8. Marca las casillas de verificación «Permitir » situadas junto a «Inicio local » y «Activación local».
  9. Haga clic en Aceptar.
  10. Haga clic en Aceptar.

Obtención mediante programación del token de identificación OIDC y del token de acceso

En ocasiones, resulta útil que las aplicaciones que se ejecutan en una sesión de GO-Global puedan recuperar las reclamaciones contenidas en el token de identificación OIDC o en el token de acceso que proporciona el proveedor de identidad cuando se autentica al usuario. Cuando sea necesario, los desarrolladores de aplicaciones pueden añadir código a sus aplicaciones para recuperar estos tokens.

Para recuperar mediante programación el token de identificación OIDC y el token de acceso, el código debe:

  • Obtener un identificador (HANDLE) para redirector.dll mediante una llamada a GetModuleHandle()
  • Obtener la dirección de procedimiento de dos funciones exportadas mediante llamadas a GetProcAddress() para «GetOpenIDConnectIDToken» y «GetOpenIDConnectAccessToken»
  • Llama a esas dos direcciones de procedimiento con los parámetros 0 y NULL para obtener la longitud del búfer de caracteres necesaria
  • asignar el búfer de caracteres
  • vuelve a llamar a esas dos funciones para obtener los tokens reales

Código de ejemplo:

/**
* File: GetOidcIdAndAccessTokens.cpp
*
* Copyright 2025 by GraphOn Corporation
* All rights reserved.
*
* This software is the confidential and proprietary information
* of GraphOn Corporation  ("Confidential Information").  You
* shall not disclose such Confidential Information and shall use
* it only in accordance with the terms of the license agreement
* you entered into with GraphOn.
*/

#include <Windows.h>
#include <stdio.h>

int main()
{
    printf ("GetOidcIdAndAccessTokens\n");

    HMODULE hRedirector = ::GetModuleHandleA ("redirector.dll");
    if (hRedirector)
    {
        typedef unsigned int (WINAPI* fnGetOpenIDConnectToken)(unsigned int, char*);

        fnGetOpenIDConnectToken pfnGetOpenIDConnectIDToken = (fnGetOpenIDConnectToken)::GetProcAddress (hRedirector, "GetOpenIDConnectIDToken");
        if (pfnGetOpenIDConnectIDToken)
        {
            unsigned int length = pfnGetOpenIDConnectIDToken (0, NULL);
            if (length)
            {
                printf ("GetOpenIDConnectIDToken(1) returned OIDC ID token length %d.\n", length);

                char* oidcCustomClaims = NULL;
                try { oidcCustomClaims = new char[length]; }
                catch (...) {}
                if (oidcCustomClaims)
                {
                    length = pfnGetOpenIDConnectIDToken (length, oidcCustomClaims);
                    if (length)
                    {
                        printf ("GetOpenIDConnectIDToken(2) returned OIDC ID token length %d.\n", length);
                        printf ("GetOpenIDConnectIDToken(2) returned OIDC ID token %hs.\n", oidcCustomClaims);
                    }
                    else
                        printf ("ERROR GetOpenIDConnectIDToken(2) returned OIDC ID token length %d\n", length);
                }
                else
                    printf ("ERROR Failed to allocate ID token string length %d\n", length);
            }
            else
                printf ("ERROR GetOpenIDConnectIDToken(1) returned OIDC ID token length %d\n", length);
        }
        else
            printf ("ERROR ::GetProcAddress (hRedirector, \"GetOpenIDConnectIDToken\") failed!\n");

        fnGetOpenIDConnectToken pfnGetOpenIDConnectAccessToken = (fnGetOpenIDConnectToken)::GetProcAddress (hRedirector, "GetOpenIDConnectAccessToken");
        if (pfnGetOpenIDConnectAccessToken)
        {
            unsigned int length = pfnGetOpenIDConnectAccessToken (0, NULL);
            if (length)
            {
                printf ("GetOpenIDConnectAccessToken(1) returned OIDC access token length %d.\n", length);

                char* oidcCustomClaims = NULL;
                try { oidcCustomClaims = new char[length]; }
                catch (...) {}
                if (oidcCustomClaims)
                {
                    length = pfnGetOpenIDConnectAccessToken (length, oidcCustomClaims);
                    if (length)
                    {
                        printf ("GetOpenIDConnectAccessToken(2) returned OIDC access token length %d.\n", length);
                        printf ("GetOpenIDConnectAccessToken(2) returned OIDC access token %hs.\n", oidcCustomClaims);
                    }
                    else
                        printf ("ERROR GetOpenIDConnectAccessToken(2) returned OIDC access token length %d\n", length);
                }
                else
                    printf ("ERROR Failed to allocate access token string length %d\n", length);
            }
            else
                printf ("ERROR GetOpenIDConnectAccessToken(1) returned OIDC access token length %d\n", length);
        }
        else
            printf ("ERROR ::GetProcAddress (hRedirector, \"GetOpenIDConnectAccessToken\") failed!\n");
    }
    else
        printf ("ERROR ::GetModuleHandle (\"redirector.dll\") failed!\n");

    printf ("\nPress Enter to exit.\n");

    ::getchar ();
}

Para ejecutar las aplicaciones de prueba de GetOidcIdAndAccessTokens  

  1. Descarga y descomprime el archivo GetOidcIdAndAccessTokens.zip de https://cdn.graphon.com/portal_resources/Downloads/GetOidcIdAndAccessTokens.zip en un servidor GO-Global en el que esté habilitada la autenticación OpenID Connect.  
  2. Registra las dos aplicaciones de prueba GetOidcIdAndAccessTokens_32bit.exe y GetOidcIdAndAccessTokens_64bit.exe en GO-Global.
  3. Inicia una sesión de GO-Global.
  4. Ejecuta las aplicaciones de prueba en la sesión de GO-Global. El token de identificación y el token de acceso de OpenID Connect se muestran en una ventana de la consola.

Conclusión

La implementación de la autenticación OpenID Connect en GO-Global proporciona a los administradores potentes herramientas para unificar la gestión de identidades, reducir las dificultades de los usuarios y reforzar la seguridad en todas las aplicaciones alojadas. Al elegir el flujo de trabajo de inicio de sesión adecuado, garantizar que las reclamaciones OIDC se ajusten a Active Directory y aplicar los permisos de Windows necesarios, las organizaciones pueden crear una experiencia de autenticación fluida tanto para entornos locales como basados en dominio. Con la capacidad de personalizar el manejo de nombres de usuario y acceder a tokens OIDC mediante programación, GO-Global también da respuesta a necesidades de aplicaciones más avanzadas. En conjunto, estas capacidades ofrecen a los administradores la flexibilidad necesaria para integrar soluciones de identidad modernas, al tiempo que mantienen una compatibilidad total con los requisitos de autenticación de Windows.

¿Es usted un ISV que explora la entrega de aplicaciones basada en la nube? Póngase en contacto con nosotros para saber cómo GO-Global puede ayudarle a agilizar el acceso al software para sus usuarios finales. O descargue una versión de prueba gratuita para probarlo usted mismo.