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”.
💡 Nota:
Los valores de Issuer y Audience se generan automáticamente al actualizar al plan Enterprise. No es necesario configurarlos ni modificarlos manualmente.
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 consso_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.