Connexion et comptes

Décidez qui peut créer un compte et comment les utilisateurs se connectent. Toutes les méthodes de connexion d'Antimatter fonctionnent sans licence, y compris l'authentification unique et les annuaires.

Qui peut créer un compte

Juste après l'installation, vérifiez Console système › Authentification › Inscription. Par défaut, toute personne disposant d'un lien d'invitation vers une communauté peut créer un compte, mais personne ne peut s'inscrire sans lien.

ParamètreParamètreValeur par défautFonction
Activer la création de comptesTeamSettings.EnableUserCreationactivéDésactivé, personne ne peut créer de compte par aucune méthode ; seuls les administrateurs peuvent le faire (Console système ou amctl user create).
Activer le mode serveur ouvertTeamSettings.EnableOpenServerDésactivéActivé, toute personne qui accède au serveur peut s'inscrire avec une adresse e-mail, sans invitation. À n'utiliser que pour les communautés publiques.
Restreindre les nouveaux membres système et d'équipe à des domaines e-mail spécifiésTeamSettings.RestrictCreationToDomainsvideDomaines séparés par des virgules, par exemple example.com, example.org : seules les adresses de ces domaines peuvent créer un compte.
Activer les invitations par e-mailServiceSettings.EnableEmailInvitationsdésactivé sur un nouveau serveurPermet aux membres d'inviter des personnes par e-mail (nécessite SMTP). Invalider les e-mails d'invitation en attente annule les invitations non encore acceptées ; elles expirent de toute façon après 48 heures.

Les administrateurs de communauté contrôlent également qui rejoint leur communauté, via des liens d'invitation et leurs propres domaines autorisés : voir le guide Gérer une communauté.

Depuis la ligne de commande : amctl user create (ajouter --system-admin ou --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> pour faire de quelqu'un un administrateur système, et amctl roles member <user> pour annuler cela.

E-mail et mot de passe

Dans Console système › Authentification › E-mail :

ParamètreParamètreValeur par défaut
Activer la création de comptes avec une adresse e-mailEmailSettings.EnableSignUpWithEmailactivé. Désactivez-le lorsque tout le monde se connecte via l'authentification unique.
Imposer la vérification de l'adresse e‑mailEmailSettings.RequireEmailVerificationdésactivé. Activez-le une fois que l'e-mail fonctionne : les utilisateurs confirment alors leur adresse avant de pouvoir se connecter.
Activer la connexion avec une adresse e-mailEmailSettings.EnableSignInWithEmailactivé
Activer la connexion avec nom d'utilisateurEmailSettings.EnableSignInWithUsernameactivé

Dans Console système › Authentification › Mot de passe :

ParamètreParamètreValeur par défaut
Longueur minimale du mot de passePasswordSettings.MinimumLength8 (de 5 à 72)
Pré-requis du mot de passe : minuscules, majuscules, chiffre, symbolePasswordSettings.Lowercase, .Uppercase, .Number, .Symboltout désactivé
Nombre maximum de tentatives de connexionServiceSettings.MaximumLoginAttempts10 : après ce nombre d'échecs, le compte est verrouillé jusqu'à ce que son mot de passe soit réinitialisé par e-mail
Activer le lien « Mot de passe oublié »PasswordSettings.EnableForgotLinkactivé

Une longueur de 12 caractères ou plus est plus efficace pour la sécurité que les règles de caractères. Pour réinitialiser le mot de passe d'un utilisateur : Console système › Gestion des utilisateurs › Utilisateurs, ou amctl user change-password <user> --password <new>.

Authentification multifacteur

L'authentification multi-facteurs (MFA) ajoute un code issu d'une application d'authentification au mot de passe. Elle s'applique aux comptes qui se connectent avec une adresse e-mail ou AD/LDAP ; avec l'authentification unique, utilisez le MFA de votre fournisseur d'identité. Dans Console système › authentification › Authentification multi-facteurs (MFA) :

  • Activité l’authentification multi-facteurs (ServiceSettings.EnableMultifactorAuthentication, désactivé) : les utilisateurs peuvent activer le MFA dans leurs paramètres de sécurité.
  • Imposer l'authentification multi-facteurs (ServiceSettings.EnforceMultifactorAuthentication, désactivé) : tout le monde doit le configurer, lors de l'inscription ou à la prochaine connexion.

Si quelqu'un perd son appareil : amctl user resetmfa <user>, ou réinitialisez-la depuis sa page dans Console système › Gestion des utilisateurs › Utilisateurs.

Authentification unique

Antimatter peut connecter les utilisateurs via votre fournisseur d'identité. Lors de la première connexion, il crée leur compte (si la création de compte est autorisée) à partir du nom, de l'e-mail et du nom d'utilisateur envoyés par le fournisseur.

OpenID Connect, GitLab, Google et Entra ID

Accédez à Console système › authentification › OpenID Connect et choisissez sous Sélectionner un fournisseur de service : GitLab, Google Apps, Entra ID (Office 365) ou OpenID Connect (Autre) pour tout autre fournisseur (Keycloak, Authentik, Zitadel, Okta, Auth0…).

  1. Dans votre fournisseur, créez une application (un « client ») de type web, avec cette URI de redirection, pour l'URL de votre site :
    FournisseurURI de redirection
    OpenID Connect (Autre)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. Dans Antimatter, renseignez le Nœud de découverte (discovery endpoint) (l'URL /.well-known/openid-configuration du fournisseur ; pour GitLab, l'URL du site GitLab à la place), l'ID client et le Secret client. Pour les autres fournisseurs, renseignez également le Nom du bouton et la Couleur du bouton du bouton de connexion.
  3. Utiliser le nom d’utilisateur préféré (GitLab et autres fournisseurs) utilise le nom d'utilisateur Antimatter à partir de l'assertion preferred_username du fournisseur.
  4. Enregistrez, déconnectez-vous et essayez le nouveau bouton sur la page de connexion.

Les paramètres sont stockés dans OpenIdSettings, GitLabSettings, GoogleSettings ou Office365Settings (par exemple AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). L'ancienne page OAuth 2.0 n'apparaît que pour les serveurs qui ont encore une configuration OAuth 2.0 GitLab, Google ou Entra ID.

SAML 2.0

Dans Console système › authentification › SAML 2.0, activez Activer la connexion via SAML 2.0 (SamlSettings.Enable) et renseignez ce que votre fournisseur d'identité vous fournit : l'URL des métadonnées du fournisseur d'identité, ou l'URL d'authentification unique (SSO) SAML, l'URL du fournisseur d'identité et le Certificat public du fournisseur d'identité. Côté fournisseur d'identité :

  • URL de connexion du fournisseur de services (service consommateur d'assertion) : https://chat.example.com/login/sso/saml ;
  • Les métadonnées d'Antimatter, pour les fournisseurs qui les importent : https://chat.example.com/api/v4/saml/metadata.

Associez les attributs envoyés par votre fournisseur : au minimum l'Attribut « Email » et l'Attribut « Username », ainsi que, en option, l'identifiant, le prénom, le nom, le surnom, la fonction, la langue, ainsi que les attributs invité et administrateur. Vérifier la signature et Activer le chiffrement sont activés par défaut (le chiffrement nécessite une clé et un certificat de fournisseur de service ; seules les clés RSA sont prises en charge) ; Requête de signature est désactivé. L'algorithme de signature est RSAwithSHA256 par défaut.

AD/LDAP

Dans Console système › Authentification › AD/LDAP, une page étape par étape connecte Antimatter à Active Directory ou à un autre serveur LDAP : le serveur et le port (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 par défaut), la sécurité de la connexion (aucune, TLS ou STARTTLS), le DN de base et un compte de liaison (BaseDN, BindUsername, BindPassword), les filtres pour les utilisateurs, les invités, les admins et les groupes, ainsi que les attributs pour l'e-mail, le nom d'utilisateur, l'ID, les noms et la photo. Les personnes se connectent ensuite avec leur identifiant d'annuaire.

Une tâche de synchronisation s'exécute toutes les 60 minutes (LdapSettings.SyncIntervalMinutes) pour mettre à jour les noms et désactiver les personnes retirées de l'annuaire ; exécutez-la immédiatement avec amctl ldap sync. Les groupes LDAP peuvent être liés à des communautés et des canaux dans Console système › Gestion des utilisateurs › Groupes. Les comptes SAML peuvent également être maintenus synchronisés avec AD/LDAP (Activer la synchronisation des comptes SAML avec AD/LDAP).

Déplacement des comptes existants

Pour convertir les comptes e-mail existants en connexion unique, amctl user migrate-auth email saml users.json (ou ldap) les déplace en masse. Un utilisateur peut également modifier sa propre méthode de connexion dans ses paramètres de sécurité lorsque Autoriser les transferts d'authentification (ServiceSettings.ExperimentalEnableAuthenticationTransfer, dans Console système › Fonctionnalités expérimentales › Fonctionnalités) est activé.

Comptes invités

Les invités sont des personnes extérieures à votre organisation qui ne voient que les canaux auxquels elles sont invitées. Activez-les dans Console système › Authentification › Accès utilisateur invité :

ParamètreParamètreValeur par défaut
Activer l'accès aux utilisateurs invitésGuestAccountsSettings.EnableDésactivé
Domaines autorisés pour les invitésGuestAccountsSettings.RestrictCreationToDomainsvide : les invités peuvent avoir n'importe quel domaine e-mail
Imposer l'authentification multi-facteursGuestAccountsSettings.EnforceMultifactorAuthenticationdésactivé ; disponible uniquement lorsque l'authentification multifacteur est activée et imposée à tous
Masquer l’étiquette invitéGuestAccountsSettings.HideTagsdésactivé : une étiquette « invité » est affichée à côté de leur nom

Une fois activé, les administrateurs de la communauté invitent les invités à des canaux spécifiques. Les administrateurs peuvent transformer un membre en invité avec amctl user demote, et un invité en membre avec amctl user promote.

Sessions

La durée pendant laquelle les utilisateurs restent connectés est définie dans Console système › Environnement › Durée des sessions :

ParamètreParamètreValeur par défaut sur un nouveau serveur
Prolonger la durée de session avec l'activitéServiceSettings.ExtendSessionLengthWithActivityactivé : les sessions sont renouvelées pendant que les personnes utilisent Antimatter
Durée de session AD/LDAP et e-mail (heures) ServiceSettings.SessionLengthWebInHours720 heures (30 jours)
Durée de session mobile (heures) ServiceSettings.SessionLengthMobileInHours720 heures
Durée de session SSO (heures) ServiceSettings.SessionLengthSSOInHours720 heures
Délai d'attente avant de considérer la session comme inactif (en minutes)ServiceSettings.SessionIdleTimeoutInMinutes43 200 minutes (30 jours) ; affiché uniquement lorsque les sessions ne sont pas prolongées par l'activité
Terminer les sessions lors d’un changement de mot de passe ServiceSettings.TerminateSessionsOnPasswordChangeactivé

Pour déconnecter tout le monde d'un coup, utilisez Révoquer toutes les sessions dans Console système › Gestion des utilisateurs › Utilisateurs. Pour déconnecter une seule personne, ouvrez sa page dans cette section.