SSO (Inicio de sesión único) — Guía de integración

Este documento es una guía técnica para desarrolladores sobre cómo integrar de forma segura el sistema de autenticación de tu organización con el panel de control de Vivoldi utilizando el método RS256 en un entorno empresarial.

Explica paso a paso, con ejemplos de código reales, todo el proceso — desde la generación de pares de claves RSA en Linux hasta la configuración de JWKS (JSON Web Key Set) y el envío del token JWT firmado.

1. Generar archivos de claves de certificado

Para emitir tokens JWT con el algoritmo RS256, se requieren una clave privada (Private Key) y una clave pública (Public Key) RSA.

Este par de claves es esencial en el proceso de firma y verificación, y se utilizará más adelante para la configuración del archivo JWKS y la firma del token.

Linux Terminal


# Private Key Generation (RSA 3072-bit, PKCS#1)
$ openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out sso_private.pem

# Public Key Extraction (X.509 PEM)
$ openssl rsa -in sso_private.pem -pubout -out sso_public.pem

2. Configurar permisos del archivo

El archivo de clave privada debe usarse solo dentro del servidor y sus permisos deben restringirse para evitar accesos externos.

⚠️ Atención: Nunca expongas tu clave privada públicamente. No la subas a repositorios, correos electrónicos o servicios en la nube compartidos.

Linux Terminal


# Private Key: Owner-only read access (600 recommended)
$ chmod 600 sso_private.pem

# Public Key: Set to read-only (644)
$ chmod 644 sso_public.pem

# Change the owner to the application execution account when necessary (e.g., www-data)
$ chown www-data:www-data sso_*.pem

3. Crear y registrar el archivo JWKS

Carga el archivo sso_public.pem generado en la página [Desarrollador → Configuración de SSO] del panel de Vivoldi, y el archivo jwks.json se generará automáticamente.

Sube el archivo jwks.json generado a la ruta “https://yourdomain.com/.well-known/jwks.json”.

jwks.json example


{
    "keys": [
        {
            "kty": "RSA",
            "use": "sig",
            "kid": "vivoldi-sso-20251008",
            "alg": "RS256",
            "n": "AN3V-5RxI7ekeBtc5N66yHzmhib_5ES5i3ZYoU4znkNh...",
            "e": "AQAB"
        }
    ]
}

Items

ktystring
Abreviatura de Key Type. En SSO se utiliza una clave pública en formato RSA.
usestring
Indica el propósito de la clave. “sig” significa que se usa para firma (signature).
kidstring
ID de la clave, utilizado para identificar la versión de la clave. Ejemplo: vivoldi-sso-20251008
algstring
Indica el algoritmo de firma utilizado. Vivoldi SSO admite únicamente RS256 (RSA + SHA-256) para garantizar una seguridad avanzada.
nstring
Valor del módulo (modulus) de la clave pública RSA, una cadena larga codificada en Base64URL.
Se usa junto con sso_private.pem al generar los tokens de autenticación.
estring
Valor del exponente (exponent) de la clave pública RSA.
Normalmente se fija en AQAB (65537).

4. Ejemplo de generación de token JWT

Esta sección explica cómo generar un token JWT con el método RS256 en entornos Java, PHP y Node.js.

Para emitir un token JWT, debe existir una cuenta de usuario de Vivoldi vinculada a la cuenta de tu organización.
Registra primero al usuario en la página [Configuración → Gestión de usuarios] antes de continuar.

💡 Función exclusiva para empresas

Vivoldi ofrece la función de inicio de sesión único (SSO) exclusivamente para clientes Enterprise.
Al integrarse con el sistema de autenticación de tu organización, podrás gestionar las políticas de seguridad de forma centralizada y optimizar el control de acceso.

Si deseas una consulta sobre la implementación, contáctanos a través de la página [Contacto].

Después de actualizar al plan Enterprise e iniciar sesión, podrás ver ejemplos de código de integración SSO en diferentes idiomas.

✨ Autenticación unificada de nivel empresarial

SSO (inicio de sesión único) conecta el sistema de autenticación de tu organización con Vivoldi,
permitiendo que todos los usuarios accedan de forma segura al servicio con un solo inicio de sesión.

La gestión centralizada de cuentas, las políticas de seguridad avanzadas y la automatización del control de acceso para mayor seguridad y eficiencia operativa están disponibles en el plan Enterprise.

Actualiza al plan Enterprise