feat: add OAuth2/OIDC with PKCE for SSO login
Add opt-in SSO authentication alongside Basic Auth. OAuth endpoints are auto-discovered via .well-known, with support for external IdPs (Keycloak, Authentik) via configurable OAUTH_ISSUER_URL. Sessions persist through httpOnly refresh token cookies with automatic renewal.
This commit is contained in:
+13
-1
@@ -14,6 +14,7 @@
|
||||
"cors_blocked": "El servidor es accesible pero está bloqueando las solicitudes de origen cruzado. Verifique la configuración CORS de su servidor JMAP y permita este dominio.",
|
||||
"generic": "Ocurrió un error. Por favor, inténtelo de nuevo.",
|
||||
"totp_invalid": "Código de autenticación inválido. Verifica tu aplicación de autenticación.",
|
||||
"oauth_discovery_failed": "SSO está habilitado pero no se pudo contactar al proveedor de identidad. Verifica tu configuración OAuth.",
|
||||
"server_error": "El servidor no está disponible temporalmente. Inténtalo más tarde."
|
||||
},
|
||||
"config_error": {
|
||||
@@ -31,7 +32,18 @@
|
||||
"totp_hint": "Activa si tu cuenta requiere un código de autenticación en dos pasos",
|
||||
"totp_checkbox": "Usar código de autenticación en dos pasos",
|
||||
"session_expired": "Tu sesión ha expirado. Inicia sesión de nuevo.",
|
||||
"dismiss": "Cerrar"
|
||||
"dismiss": "Cerrar",
|
||||
"or": "o",
|
||||
"sign_in_sso": "Iniciar sesión con SSO",
|
||||
"oauth_completing": "Completando inicio de sesión...",
|
||||
"oauth_error": {
|
||||
"title": "Error de autenticación",
|
||||
"invalid_state": "La validación de seguridad falló. Intenta iniciar sesión de nuevo.",
|
||||
"missing_params": "Faltan datos de autorización. Intenta iniciar sesión de nuevo.",
|
||||
"token_exchange_failed": "No se pudo completar la autenticación. Inténtalo de nuevo.",
|
||||
"access_denied": "Acceso denegado. Contacta a tu administrador.",
|
||||
"back_to_login": "Volver al inicio de sesión"
|
||||
}
|
||||
},
|
||||
"sidebar": {
|
||||
"close": "Cerrar",
|
||||
|
||||
Reference in New Issue
Block a user