Inicio de sesión y cuentas
Decide quién puede crear una cuenta y cómo se inician sesión las personas. Todos los métodos de inicio de sesión de Antimatter funcionan sin licencia, incluida la autenticación única y los directorios.
Quién puede crear una cuenta
Inmediatamente después de la instalación, consulta Consola de sistema › Autenticación › Registro. Con los valores predeterminados, cualquier persona con un enlace de invitación a una comunidad puede crear una cuenta, pero nadie puede registrarse sin uno.
| Ajuste | Clave | Predeterminado | Qué hace |
|---|---|---|---|
| Permitir la Creación de Cuentas | TeamSettings.EnableUserCreation | activado | Desactivado, nadie puede crear una cuenta por ningún método; solo los administradores pueden (Consola de sistema o amctl user create). |
| Habilitar Servidor Abierto | TeamSettings.EnableOpenServer | desactivado | Activado, cualquier persona que acceda al servidor puede registrarse con una dirección de correo electrónico, sin necesidad de una invitación. Úsalo solo para comunidades públicas. |
| Restringir nuevos miembros del sistema y del equipo a dominios de correo electrónico especificados | TeamSettings.RestrictCreationToDomains | vacío | Dominios separados por comas, por ejemplo example.com, example.org: solo las direcciones de estos dominios pueden crear una cuenta. |
| Habilitar Invitaciones por Correo Electrónico | ServiceSettings.EnableEmailInvitations | desactivado en un servidor nuevo | Permite a los miembros invitar personas por correo electrónico (requiere SMTP). Invalidar invitaciones por correo electrónico pendientes cancela las invitaciones que aún no se han aceptado; de todos modos, caducan a las 48 horas. |
Los administradores de la comunidad también controlan quién se une a su comunidad, mediante enlaces de invitación y sus propios dominios permitidos: consulta la guía Gestión de una comunidad.
Desde la línea de comandos: amctl user create (agrega --system-admin o --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> para convertir a alguien en administrador del sistema, y amctl roles member <user> para revertirlo.
Correo electrónico y contraseña
En Consola de sistema › Autenticación › Correo electrónico:
| Ajuste | Clave | Predeterminado |
|---|---|---|
| Habilitar la creación de la cuenta con el correo electrónico | EmailSettings.EnableSignUpWithEmail | activado. Desactívalo cuando todos se inicien sesión mediante autenticación única. |
| Require verificación de correo electrónico | EmailSettings.RequireEmailVerification | desactivado. Actívalo una vez que el correo electrónico funcione: las personas entonces confirman su dirección antes de poder iniciar sesión. |
| Habilitar el inicio de sesión con el correo electrónico | EmailSettings.EnableSignInWithEmail | activado |
| Habilitar el inicio de sesión con nombre de usuario | EmailSettings.EnableSignInWithUsername | activado |
En Consola de sistema › Autenticación › Contraseña:
| Ajuste | Clave | Predeterminado |
|---|---|---|
| Longitud mínima de la contraseña | PasswordSettings.MinimumLength | 8 (de 5 a 72) |
| Requisitos de la contraseña: minúsculas, mayúsculas, número, símbolo | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | todos desactivados |
| Máximo de intentos de conexión | ServiceSettings.MaximumLoginAttempts | 10: tras ese número de fallos, la cuenta se bloquea hasta que se restablezca la contraseña por correo electrónico |
| Habilitar Enlace Olvidaste tu Contraseña | PasswordSettings.EnableForgotLink | activado |
Una longitud de 12 o más caracteres aporta más seguridad que las reglas de caracteres. Para restablecer la contraseña de alguien: Consola de sistema › Gestión de usuarios › Usuarios, o amctl user change-password <user> --password <new>.
Autenticación multifactor
La autenticación multifactor (MFA) añade un código de una aplicación de autenticación a la contraseña. Se aplica a las cuentas que inician sesión con correo electrónico o AD/LDAP; con inicio de sesión único, usa la MFA de tu proveedor de identidad. En Consola de sistema › Autenticación › MFA:
- Habilitar Autenticación de Múltiples Factores (
ServiceSettings.EnableMultifactorAuthentication, desactivado): las personas pueden activar la MFA en sus ajustes de seguridad. - Imponer la Autenticación de Múltiples factores (
ServiceSettings.EnforceMultifactorAuthentication, desactivado): todos deben configurarla, ya sea al registrarse o en su próximo inicio de sesión.
Si alguien pierde su dispositivo: amctl user resetmfa <user>, o restablécela desde su página en Consola de sistema › Gestión de usuarios › Usuarios.
Inicio de sesión único
Antimatter puede iniciar sesión de las personas a través de tu proveedor de identidad. En el primer inicio de sesión, crea su cuenta (si se permite la creación de cuentas) a partir del nombre, correo electrónico y nombre de usuario que envía el proveedor.
OpenID Connect, GitLab, Google y Entra ID
Vaya a Consola de sistema › Autenticación › Conexión OpenID y elija bajo Seleccionar proveedor de servicios: GitLab, Google Apps, Entra ID (Office 365) o Conexión OpenID (Otro) para cualquier otro proveedor (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- En tu proveedor, crea una aplicación (un "cliente") de tipo web, con esta URI de redirección, para la URL de tu sitio:
Proveedor URI de redirección OpenID Connect (Otro) https://chat.example.com/signup/openid/completeGitLab https://chat.example.com/signup/gitlab/completeGoogle https://chat.example.com/signup/google/completeEntra ID https://chat.example.com/signup/office365/complete - En Antimatter, complete el Ruta de descubrimiento (la URL
/.well-known/openid-configurationdel proveedor; para GitLab, la URL del sitio de GitLab en su lugar), el ID de cliente y el Secreto de cliente. Para otros proveedores, también el Nombre del botón y el Color del boton del botón de inicio de sesión. - Usar nombre de usuario preferido (GitLab y otros proveedores) toma el nombre de usuario de Antimatter de la afirmación
preferred_usernamedel proveedor. - Guarda, cierra la sesión y prueba el nuevo botón en la página de inicio de sesión.
La configuración se almacena en OpenIdSettings, GitLabSettings, GoogleSettings u Office365Settings (por ejemplo, AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Ámbitos adicionales (AM_OPENIDSETTINGS_ADDITIONALSCOPES) solicita al proveedor ámbitos OAuth adicionales, separados por espacios, además de los predeterminados. La página antigua de OAuth 2.0 solo aparece en servidores que aún tienen una configuración de OAuth 2.0 para GitLab, Google o Entra ID.
En el caso de OpenID Connect estándar (no GitLab, Google ni Entra ID), iniciar sesión también sincroniza los atributos de usuario que hayas vinculado a una reclamación: Antimatter lee el token de identificación y la respuesta de userinfo (userinfo tiene prioridad cuando ambos contienen una reclamación), intenta primero el nombre de la reclamación como una clave única de nivel superior y, si no hay coincidencia, como un anidamiento separado por puntos (por ejemplo, address.country). Una reclamación que la respuesta no incluye borra el atributo al que está vinculada, ya que se considera al proveedor como la fuente de verdad de lo que sincroniza. Esta opción está activada de forma predeterminada; desactívala con AM_FEATUREFLAGS_OPENIDATTRIBUTESYNC=false.
SAML 2.0
En Consola de sistema › Autenticación › SAML 2.0, active Habilitar el inicio de Sesión con SAML 2.0 (SamlSettings.Enable) y complete lo que le proporcione su proveedor de identidad: la URL de Metadatos del Proveedor de Identidad, o la SAML SSO URL, la URL del emisor del Proveedor de Identidad y el Certificado Público del Proveedor de Identidad. En el lado del proveedor de identidad:
- Service Provider Login URL (assertion consumer service):
https://chat.example.com/login/sso/saml; - Metadatos de Antimatter, para proveedores que los importan:
https://chat.example.com/api/v4/saml/metadata.
Mapee los atributos que envía su proveedor: al menos el Atributo de Correo Electrónico y el Atributo Usuario, y opcionalmente los atributos de ID, nombre, apellido, apodo, posición, idioma, invitado y administrador. Verificar Firma y Habilitar el Cifrado están activados por defecto (el cifrado requiere una clave y un certificado del proveedor de servicios; solo se admiten claves RSA); Firmar Solicitud está desactivado. El algoritmo de firma predeterminado es RSAwithSHA256.
AD/LDAP
En Consola de sistema › Autenticación › AD/LDAP, una página paso a paso conecta Antimatter con Active Directory u otro servidor LDAP: el servidor y el puerto (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 por defecto), la seguridad de la conexión (ninguna, TLS o STARTTLS), el DN base y una cuenta de enlace (BaseDN, BindUsername, BindPassword), filtros para usuarios, invitados, administradores y grupos, y los atributos para correo electrónico, nombre de usuario, ID, nombres y foto. Las personas luego inician sesión con su inicio de sesión del directorio.
Se ejecuta una tarea de sincronización cada 60 minutos (LdapSettings.SyncIntervalMinutes) para actualizar los nombres y desactivar a las personas eliminadas del directorio; puede ejecutarse ahora con amctl ldap sync. Los grupos de LDAP pueden vincularse a comunidades y canales en Consola de sistema › Gestión de Usuarios › Grupos. Las cuentas SAML también pueden mantenerse sincronizadas con AD/LDAP (Habilitar Sincronización de cuentas SAML con AD/LDAP).
Los atributos de perfil personalizados asignados a un atributo de AD/LDAP o SAML, en Consola de sistema › Atributos del sistema, se sincronizan de la misma manera desde ambos: el valor de un atributo de texto se copia tal como lo envía el directorio o la aserción, hasta 64 caracteres (un valor más largo borra el atributo en lugar de truncarlo); el valor de un atributo de selección única o múltiple se compara con una opción existente sin distinguir mayúsculas y minúsculas, conservando la ortografía de dicha opción, y se crea una nueva opción si no hay ninguna coincidencia. Las opciones que nadie posee ya se eliminan, y la lista de opciones de un atributo sincronizado solo puede modificarse por la sincronización que lo posee, no manualmente en la Consola de sistema.
Migración de cuentas existentes
Para cambiar las cuentas de correo electrónico existentes a inicio de sesión único, amctl user migrate-auth email saml users.json (o ldap) las migra en lote. Un usuario también puede cambiar su propio método de inicio de sesión en la configuración de seguridad cuando Habilitar Transferencia de Autenticación (ServiceSettings.ExperimentalEnableAuthenticationTransfer, en Consola de sistema › Experimental › Características) está activado.
Cuentas de invitado
Los invitados son personas de fuera de su organización que solo ven los canales a los que han sido invitados. Actívelos en Consola de sistema › Autenticación › Acceso de Huéspedes:
| Ajuste | Clave | Predeterminado |
|---|---|---|
| Habilitar Acceso a Huéspedes | GuestAccountsSettings.Enable | desactivado |
| Lista blanca de dominios para huéspedes | GuestAccountsSettings.RestrictCreationToDomains | vacío: los invitados pueden tener cualquier dominio de correo electrónico |
| Imponer la Autenticación de Múltiples factores | GuestAccountsSettings.EnforceMultifactorAuthentication | desactivado; solo disponible cuando la autenticación multifactor está activada e impuesta para todos |
| Ocultar etiqueta de invitado | GuestAccountsSettings.HideTags | desactivado: se muestra una etiqueta de «invitado» junto a su nombre |
Una vez activado, los administradores de la comunidad invitan a los invitados a canales específicos. Los administradores pueden convertir a un miembro en invitado con amctl user demote, y a un invitado en miembro con amctl user promote.
Sesiones
La duración de la sesión iniciada se configura en Consola de sistema › Entorno › Duración de las sesiones:
| Ajuste | Clave | Valor predeterminado en un servidor nuevo |
|---|---|---|
| Extender la sesión con actividad | ServiceSettings.ExtendSessionLengthWithActivity | activado: las sesiones se renuevan mientras las personas usan Antimatter |
| Duración de la sesión AD/LDAP y correo electrónico (horas) | ServiceSettings.SessionLengthWebInHours | 720 horas (30 días) |
| Duración de la Sesión en Móvil (horas) | ServiceSettings.SessionLengthMobileInHours | 720 horas |
| Duración de la sesión SSO (horas) | ServiceSettings.SessionLengthSSOInHours | 720 horas |
| tiempo de espera de Inactividad de la Sesión (minutos) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 minutos (30 días); se muestra solo cuando las sesiones no se extienden con la actividad |
| Terminar sesiones al cambiar la contraseña | ServiceSettings.TerminateSessionsOnPasswordChange | activado |
Para cerrar la sesión de todos a la vez, use Revocar todas las sesiones en Consola de sistema › Gestión de usuarios › Usuarios. Para cerrar la sesión de una persona, abra su página allí.