Autenticación y 2FA
Protege tu instancia de sh0 con inicio de sesión por contraseña u OAuth de Google, y agrega una capa adicional de protección con autenticación de dos factores.
Métodos de inicio de sesión
sh0 admite dos métodos de autenticación. Ambos producen un token JWT que se usa para todas las solicitudes API y acceso al panel de control posteriores.
Autenticación por contraseña
El método de autenticación predeterminado. En la primera instalación, sh0 crea una cuenta de administrador con credenciales predeterminadas mostradas en los registros del servidor. Debes cambiar la contraseña inmediatamente después del primer inicio de sesión.
curl -X POST https://your-server:9000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password"
}'La respuesta contiene un token JWT válido por 30 días:
{
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "usr_abc123",
"email": "[email protected]",
"role": "admin"
}
}
}OAuth de Google
Para usuarios de sh0 Cloud, el inicio de sesión con Google está disponible como método de autenticación. Esto usa el flujo OAuth 2.0 de Google con verificación de token de ID vía JWKS.
- Haz clic en Iniciar sesión con Google en la página de inicio de sesión.
- Autentícate con tu cuenta de Google.
- sh0 verifica el token de ID y crea o vincula tu cuenta.
Habilitar autenticación de dos factores
La autenticación de dos factores (2FA) agrega una capa adicional de seguridad al requerir una contraseña de un solo uso basada en tiempo (TOTP) además de tus credenciales habituales.
- Navega a Configuración → Seguridad en el panel de control.
- Haz clic en Habilitar 2FA.
- Escanea el código QR con una aplicación de autenticación (Google Authenticator, Authy, 1Password, etc.).
- Ingresa el código de 6 dígitos de tu aplicación de autenticación para verificar la configuración.
- Guarda tus códigos de respaldo en un lugar seguro.
Una vez habilitada, cada inicio de sesión requerirá el código TOTP de 6 dígitos después de ingresar tu correo electrónico y contraseña.
curl -X POST https://your-server:9000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"password": "your-password",
"totp_code": "123456"
}'sh0 auth reset-2fa --email [email protected]Códigos de respaldo
Cuando habilitas 2FA, sh0 genera 10 códigos de respaldo de un solo uso. Cada código puede usarse una vez en lugar de un código TOTP si pierdes acceso a tu aplicación de autenticación.
a1b2c3d4e5
f6g7h8i9j0
k1l2m3n4o5
p6q7r8s9t0
u1v2w3x4y5
z6a7b8c9d0
e1f2g3h4i5
j6k7l8m9n0
o1p2q3r4s5
t6u7v8w9x0Puedes regenerar los códigos de respaldo en cualquier momento desde Configuración → Seguridad → Regenerar códigos de respaldo. Esto invalida todos los códigos generados previamente.
Cambiar tu contraseña
Para cambiar tu contraseña:
- Ve a Configuración → Perfil.
- Haz clic en Cambiar contraseña.
- Ingresa tu contraseña actual y la nueva contraseña.
- Si la 2FA está habilitada, se te pedirá un código TOTP.
Las contraseñas se hashean con Argon2id antes de almacenarse. sh0 exige una longitud mínima de contraseña de 8 caracteres.
Gestión de sesiones
sh0 usa tokens JWT para la gestión de sesiones. Los tokens son válidos por 30 días por defecto. Puedes ver y administrar las sesiones activas desde el panel de control.
Desde el panel de Sesiones, puedes:
- Ver sesiones activas: Ver todos los dispositivos y navegadores donde tienes sesión iniciada.
- Revocar una sesión: Invalidar una sesión específica (por ejemplo, si dejaste tu sesión abierta en una computadora compartida).
- Revocar todas las sesiones: Cerrar sesión en todas partes. Útil si sospechas que tus credenciales fueron comprometidas.
curl -X DELETE https://your-server:9000/api/auth/sessions \
-H "Authorization: Bearer YOUR_TOKEN"