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.

AjusteClavePredeterminadoQué hace
Permitir la Creación de CuentasTeamSettings.EnableUserCreationactivadoDesactivado, nadie puede crear una cuenta por ningún método; solo los administradores pueden (Consola de sistema o amctl user create).
Habilitar Servidor AbiertoTeamSettings.EnableOpenServerdesactivadoActivado, 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 especificadosTeamSettings.RestrictCreationToDomainsvacíoDominios separados por comas, por ejemplo example.com, example.org: solo las direcciones de estos dominios pueden crear una cuenta.
Habilitar Invitaciones por Correo ElectrónicoServiceSettings.EnableEmailInvitationsdesactivado en un servidor nuevoPermite 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:

AjusteClavePredeterminado
Habilitar la creación de la cuenta con el correo electrónicoEmailSettings.EnableSignUpWithEmailactivado. Desactívalo cuando todos se inicien sesión mediante autenticación única.
Require verificación de correo electrónicoEmailSettings.RequireEmailVerificationdesactivado. 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ónicoEmailSettings.EnableSignInWithEmailactivado
Habilitar el inicio de sesión con nombre de usuarioEmailSettings.EnableSignInWithUsernameactivado

En Consola de sistema › Autenticación › Contraseña:

AjusteClavePredeterminado
Longitud mínima de la contraseñaPasswordSettings.MinimumLength8 (de 5 a 72)
Requisitos de la contraseña: minúsculas, mayúsculas, número, símboloPasswordSettings.Lowercase, .Uppercase, .Number, .Symboltodos desactivados
Máximo de intentos de conexiónServiceSettings.MaximumLoginAttempts10: 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ñaPasswordSettings.EnableForgotLinkactivado

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…).

  1. En tu proveedor, crea una aplicación (un "cliente") de tipo web, con esta URI de redirección, para la URL de tu sitio:
    ProveedorURI de redirección
    OpenID Connect (Otro)https://chat.example.com/signup/openid/complete
    GitLabhttps://chat.example.com/signup/gitlab/complete
    Googlehttps://chat.example.com/signup/google/complete
    Entra IDhttps://chat.example.com/signup/office365/complete
  2. En Antimatter, complete el Ruta de descubrimiento (la URL /.well-known/openid-configuration del 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.
  3. Usar nombre de usuario preferido (GitLab y otros proveedores) toma el nombre de usuario de Antimatter de la afirmación preferred_username del proveedor.
  4. 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:

AjusteClavePredeterminado
Habilitar Acceso a HuéspedesGuestAccountsSettings.Enabledesactivado
Lista blanca de dominios para huéspedesGuestAccountsSettings.RestrictCreationToDomainsvacío: los invitados pueden tener cualquier dominio de correo electrónico
Imponer la Autenticación de Múltiples factoresGuestAccountsSettings.EnforceMultifactorAuthenticationdesactivado; solo disponible cuando la autenticación multifactor está activada e impuesta para todos
Ocultar etiqueta de invitadoGuestAccountsSettings.HideTagsdesactivado: 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:

AjusteClaveValor predeterminado en un servidor nuevo
Extender la sesión con actividadServiceSettings.ExtendSessionLengthWithActivityactivado: las sesiones se renuevan mientras las personas usan Antimatter
Duración de la sesión AD/LDAP y correo electrónico (horas)ServiceSettings.SessionLengthWebInHours720 horas (30 días)
Duración de la Sesión en Móvil (horas)ServiceSettings.SessionLengthMobileInHours720 horas
Duración de la sesión SSO (horas)ServiceSettings.SessionLengthSSOInHours720 horas
tiempo de espera de Inactividad de la Sesión (minutos)ServiceSettings.SessionIdleTimeoutInMinutes43200 minutos (30 días); se muestra solo cuando las sesiones no se extienden con la actividad
Terminar sesiones al cambiar la contraseñaServiceSettings.TerminateSessionsOnPasswordChangeactivado

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í.