Integración de Gitea con Authentik mediante OpenID Connect
Introducción
Integración de Gitea con Authentik para centralizar la autenticación mediante OpenID Connect. Con esta configuración, los usuarios pueden iniciar sesión en Gitea usando su cuenta de Authentik, sin necesidad de gestionar credenciales locales. Es especialmente útil en entornos donde Authentik ya actúa como proveedor de identidad para otros servicios, manteniendo una experiencia de acceso coherente y segura.
Características
- Inicio de sesión unificado (SSO) entre Gitea y Authentik.
- Control centralizado de usuarios y contraseñas.
- Compatible con MFA, WebAuthn y otras políticas aplicadas en Authentik.
- Permite revocar o limitar accesos sin tocar la instancia de Gitea.
Requisitos previos
- Authentik operativo en
authentik.midominio.org. - Gitea desplegado en
gitea.midominio.org. - Acceso de administrador a ambas aplicaciones.
- Certificados TLS válidos en ambos dominios.
- Asegurarse de que el reloj del sistema esté sincronizado (NTP), ya que OIDC depende de tokens con tiempo de expiración.
Configuración en Authentik
1. Crear la aplicación y el proveedor
-
En Authentik, acceder al panel Admin y entrar en Applications > Applications.
-
Hacer clic en Create with Provider para crear una pareja aplicación/proveedor.
-
Seleccionar OAuth2/OpenID Connect como tipo de proveedor.
-
Configurar el proveedor con los siguientes valores:
- Redirect URI estricta:
https://gitea.midominio.org/user/oauth2/authentik/callback - Client Type: Confidential
- Signing Key: seleccionar cualquiera disponible.
- Guardar los valores de Client ID, Client Secret y slug, que se usarán en Gitea.
- Redirect URI estricta:
-
Guardar los cambios.
Si se desea controlar qué usuarios pueden acceder, se pueden aplicar políticas o bindings a la aplicación creada.
Configuración en Gitea
-
Acceder a Gitea con un usuario administrador.
-
Ir a Site Administration > Authentication Sources > Add Authentication Source.
-
Completar los campos con los siguientes valores:
- Authentication Name:
authentik - OAuth2 Provider:
OpenID Connect - Client ID / Secret: los obtenidos desde Authentik.
- Icon URL:
https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/authentik.svg - OpenID Connect Auto Discovery URL:
https://authentik.midominio.org/application/o/<slug>/.well-known/openid-configuration - Additional Scopes:
email profile
- Authentication Name:
-
Guardar la nueva fuente de autenticación.
Una vez creada, Gitea añadirá automáticamente un botón en la pantalla de inicio de sesión con el texto Sign in with Authentik.
Ajustes recomendados en Gitea
- Si se usa un reverse proxy (por ejemplo, Caddy o Nginx), asegurarse de que los encabezados
X-Forwarded-ProtoyX-Forwarded-Hostestén correctamente configurados. OIDC puede fallar si detecta un esquema o dominio distinto al de la configuración de Authentik.
Verificación
- Cerrar sesión en Gitea y recargar la página principal.
- Hacer clic en Sign in with Authentik.
- Se abrirá el flujo de autenticación de Authentik. Si todo está correcto, el usuario será redirigido de nuevo a Gitea.
- Verificar que la cuenta se ha creado automáticamente y que los datos de perfil (nombre, correo) se han importado correctamente. Si tu cuenta ya estaba creada, podrás vincularla ( mi caso ).
Errores comunes o decisiones importantes
- Error de callback URI: comprobar que la redirección coincide exactamente con la definida en Authentik.
- Si se necesita una mayor granularidad de roles, Authentik permite enviar claims personalizados, aunque en esta integración básica no se usan.
Resumen breve
- Crear aplicación y proveedor OIDC en Authentik.
- Configurar Gitea con el descubrimiento OpenID Connect.
- Usar
email profilecomo scopes. - Probar el inicio de sesión con Authentik.