Appearance
IDP: modelo de datos
Base de datos del backend auth-backend. Guarda las identidades, la autenticación, los clientes y tokens OAuth 2.0 / OIDC, y los servicios centralizados de aprobación de documentos y notificaciones que usan los demás sistemas.
iam_core
Identidades de usuario y todo lo que permite autenticarlas: identificadores de acceso, credenciales (contraseña y TOTP), proveedores externos (Ciudadanía Digital), atributos personalizados (claims) y los intentos con código de verificación (registro, verificación de email, restablecimiento de contraseña, vinculación TOTP).
17 modelos.
IdentityUser: Identidad de una persona en el IDP (interna o externa), con supublic_idque los sistemas cliente reciben comosub.LoginIdentifier: Identificador con el que se inicia sesión (usuario o email) y si el email está verificado.
Se relaciona con: IdentityUser.UserCredential: Credencial habilitada de un usuario (contraseña o TOTP) y su vigencia.
Se relaciona con: IdentityUser.PasswordCredential: Hash de la contraseña y algoritmo usado.
Se relaciona con: UserCredential.TotpCredential: Secreto cifrado del autenticador TOTP.
Se relaciona con: UserCredential.IdentityProvider: Proveedor de identidad externo (Ciudadanía Digital) con sus endpoints OIDC.AuthenticationSession: Sesión iniciada en el IDP: cómo se autenticó, desde dónde, expiración y última actividad.
Se relaciona con: IdentityProvider, IdentityUser.IdentityProviderRequestedScope: Scopes que se piden al proveedor externo.
Se relaciona con: IdentityProvider.FederatedIdentity: Vínculo entre una identidad local y su cuenta en el proveedor externo.
Se relaciona con: IdentityProvider, IdentityUser.CustomClaimDefinition: Claim personalizado fuera del estándar OIDC (carnet, tipo de documento, fecha de nacimiento, celular).PredefinedClaimValue: Valores permitidos para un claim personalizado.
Se relaciona con: CustomClaimDefinition.CustomIdentityAttribute: Valor de un claim personalizado para un usuario y si está verificado.
Se relaciona con: CustomClaimDefinition, IdentityUser.RegistrationAttempt: Registro externo pendiente de confirmar con el código enviado al email.EmailVerificationAttempt: Verificación del email de un identificador existente.
Se relaciona con: LoginIdentifier.PasswordResetAttempt: Restablecimiento de contraseña sin sesión, con código por email.
Se relaciona con: LoginIdentifier.TotpLinkingAttempt: Vinculación de un autenticador TOTP pendiente de confirmar.
Se relaciona con: IdentityUser.PasswordChangeFailedAttempt: Intento fallido de cambio de contraseña (para limitar reintentos).
Se relaciona con: IdentityUser.
oauth2_eje
Servidor de autorización OAuth 2.0: clientes registrados (los portales y servicios que usan el IDP), sus URIs, scopes, llaves de firma y los artefactos emitidos (códigos de autorización, tokens de acceso, refresh e ID tokens).
13 modelos.
Oauth2Client: Aplicación registrada en el IDP (portal o servicio) y su tipo.Oauth2ClientCredential: Secreto del cliente confidencial y su vigencia.
Se relaciona con: Oauth2Client.PostLogoutRedirectUri: URI a la que se vuelve después de cerrar sesión.
Se relaciona con: Oauth2Client.BackChannelLogoutUri: URI que el IDP llama para cerrar la sesión del cliente desde el servidor.
Se relaciona con: Oauth2Client.Oauth2RedirectUri: URI de retorno permitida tras autorizar.
Se relaciona con: Oauth2Client.Oauth2SigningKey: Par de llaves para firmar tokens (kid, estado y rotación). Tabla:oauth2_eje_signingkey.Oauth2Scope: Scope disponible en el IDP.Oauth2ClientScope: Scopes que un cliente puede pedir.
Se relaciona con: Oauth2Client, Oauth2Scope.AuthorizationCode: Código de autorización (flujo PKCE) emitido y si ya se consumió.
Se relaciona con: AuthenticationSession (iam_core), IdentityUser (iam_core), Oauth2Client, Oauth2Scope.Consent: Consentimiento del usuario para que un cliente acceda a ciertos scopes.
Se relaciona con: IdentityUser (iam_core), Oauth2Client, Oauth2Scope.AccessToken: Token de acceso emitido (porjti) y su revocación.
Se relaciona con: IdentityUser (iam_core), AuthorizationCode, Oauth2Client, Oauth2Scope, Oauth2SigningKey.RefreshToken: Token de refresco, su familia para detectar reutilización y su consumo.
Se relaciona con: IdentityUser (iam_core), AccessToken, Oauth2Client.OIDCIdToken: ID token emitido junto al token de acceso.
Se relaciona con: AccessToken, Oauth2SigningKey.
authentication
Estado temporal de los flujos de inicio de sesión: cada intento de login y cada intento de vincular una identidad federada mientras el usuario completa los pasos.
2 modelos.
LoginAttempt: Intento de inicio de sesión en curso con los parámetros de la solicitud OAuth.
Se relaciona con: IdentityProvider (iam_core), IdentityUser (iam_core), Oauth2Client (oauth2_eje).LinkFederatedIdentityAttempt: Intento de vincular la cuenta con un proveedor externo.
Se relaciona con: IdentityProvider (iam_core), IdentityUser (iam_core).
oidc
Relación entre los scopes OIDC y los claims personalizados que cada scope entrega.
1 modelo.
ScopeClaimDefinition: Claims personalizados que entrega cada scope.
Se relaciona con: CustomClaimDefinition (iam_core), Oauth2Scope (oauth2_eje).
aprobacion_documentos
Servicio centralizado de aprobación de documentos oficiales por Ciudadanía Digital o firma digital: la configuración, el documento, la solicitud, su resultado y los datos de la firma o aprobación obtenida.
8 modelos.
ConfigAprobaciones: Configuración de los servicios de aprobación (Ciudadanía Digital y validación de firma digital).DocumentoOficial: Documento a aprobar, con su código y hashes, y el cliente que lo envió.
Se relaciona con: Oauth2Client (oauth2_eje).SolicitudAprobacion: Solicitud de aprobación de un usuario: mecanismo, estado y trámite en Ciudadanía Digital.
Se relaciona con: DocumentoOficial, IdentityUser (iam_core), Oauth2Client (oauth2_eje).AprobacionSolicitadaDocumentoOficial: Documento incluido en una solicitud y su versión firmada.
Se relaciona con: DocumentoOficial, SolicitudAprobacion.ResultadoAprobacion: Resultado de la aprobación de un documento.
Se relaciona con: DocumentoOficial, SolicitudAprobacion.DatosAprobacionFirmaDigital: Datos del certificado y del firmante cuando se aprobó con firma digital.
Se relaciona con: ResultadoAprobacion.DatosAprobacionCiudadaniaDigital: Datos de la aprobación por Ciudadanía Digital (operación y registro en blockchain).
Se relaciona con: ResultadoAprobacion.AprobacionSolicitadaDocumentoOficialSeg: Segmento de un archivo firmado subido por partes.
Se relaciona con: AprobacionSolicitadaDocumentoOficial.
notificaciones
Servicio centralizado de notificaciones por correo y por Ciudadanía Digital: configuración de los canales, la solicitud, sus adjuntos, destinatarios y cada envío realizado.
5 modelos.
ConfigNotificaciones: Configuración de los canales de notificación (Ciudadanía Digital y correo SMTP).SolicitudNotificacion: Notificación pedida por un cliente, con título y descripción.
Se relaciona con: SolicitudAprobacion (aprobacion_documentos), IdentityUser (iam_core), Oauth2Client (oauth2_eje).DocumentoAdjuntoNotificacion: Documento oficial adjunto a una notificación.
Se relaciona con: DocumentoOficial (aprobacion_documentos), SolicitudNotificacion.DestinatarioNotificacion: Usuario que debe recibir la notificación.
Se relaciona con: IdentityUser (iam_core), SolicitudNotificacion.EnvioNotificacion: Envío por un canal: estado, seguimiento y lectura.
Se relaciona con: DestinatarioNotificacion.
