Aanmelden en accounts

Bepaal wie een account kan aanmaken en hoe mensen zich aanmelden. Elke aanmeldmethode van Antimatter werkt zonder licentie, inclusief single sign-on en directories.

Wie een account kan aanmaken

Direct na de installatie, controleer Systeemconsole › Authenticatie › Registreren. Met de standaardinstellingen kan iedereen met een uitnodigingslink naar een community een account aanmaken, maar niemand kan zich registreren zonder een link.

InstellingSleutelStandaardwaardeWat het doet
Accounts aanmaken toestaanTeamSettings.EnableUserCreationaanUit: niemand kan een account aanmaken via welke methode dan ook; alleen beheerders kunnen dat (Systeemconsole of amctl user create).
Open server activerenTeamSettings.EnableOpenServerUitAan: iedereen die de server bereikt kan zich aanmelden met een e-mailadres, zonder uitnodiging. Gebruik dit alleen voor publieke communities.
Nieuwe systeem- en teamleden beperken tot specifieke e-maildomeinenTeamSettings.RestrictCreationToDomainsleegDoor komma’s gescheiden domeinen, bijvoorbeeld example.com, example.org: alleen adressen van deze domeinen kunnen een account aanmaken.
E-mailuitnodigingen inschakelenServiceSettings.EnableEmailInvitationsuit op een nieuwe serverStaat leden toe om mensen per e-mail uit te nodigen (vereist SMTP). Maak wachtende e-mailuitnodigingen ongeldig annuleert de uitnodigingen die nog niet zijn geaccepteerd; ze verlopen na 48 uur in elk geval.

Communitybeheerders bepalen ook wie hun community kan joinen, met uitnodigingslinks en hun eigen toegestane domeinen: zie de gids Een community runnen.

Vanaf de opdrachtregel: amctl user create (voeg --system-admin of --guest toe), amctl user invite, amctl user deactivate, amctl roles system-admin <user> om iemand een systeembeheerder te maken, en amctl roles member <user> om dat ongedaan te maken.

E-mail en wachtwoord

In Systeemconsole › Authenticatie › E-mail:

InstellingSleutelStandaardwaarde
Inschakelen van het maken van een account met e-mailEmailSettings.EnableSignUpWithEmailaan. Zet dit uit wanneer iedereen zich aanmeldt via single sign-on.
Vereist e-mail verificatieEmailSettings.RequireEmailVerificationuit. Zet dit aan zodra e-mail werkt: mensen bevestigen dan hun adres voordat ze zich kunnen aanmelden.
Inschakelen van inloggen met e-mailEmailSettings.EnableSignInWithEmailaan
Inschakelen van inloggen met gebruikersnaamEmailSettings.EnableSignInWithUsernameaan

In Systeemconsole › Authenticatie › Wachtwoord:

InstellingSleutelStandaardwaarde
Minimale WachtwoordlengtePasswordSettings.MinimumLength8 (5 tot 72)
Wachtwoord vereisten: kleine letters, hoofdletters, cijfer, symboolPasswordSettings.Lowercase, .Uppercase, .Number, .Symbolalles uit
Maximum aantal aanmeldingspogingenServiceSettings.MaximumLoginAttempts10: na zoveel mislukte pogingen wordt het account vergrendeld tot het wachtwoord via e-mail is gereset
Link Wachtwoord-vergeten inschakelenPasswordSettings.EnableForgotLinkaan

Een lengte van 12 of meer is veiliger dan regels voor tekens. Om het wachtwoord van iemand te resetten: Systeemconsole › Gebruikersbeheer › Gebruikers, of amctl user change-password <user> --password <new>.

Meerfactorauthenticatie

Multi-factor authenticatie (MFA) voegt een code toe van een authenticator-app naast het wachtwoord. Het geldt voor accounts die inloggen met e-mail of AD/LDAP; bij single sign-on, gebruik de MFA van uw identiteitsprovider. In Systeemconsole › Authenticatie › MFA:

  • Aanzetten multi-factor authenticatie (ServiceSettings.EnableMultifactorAuthentication, uit): mensen kunnen MFA aanzetten in hun beveiligingsinstellingen.
  • Multi-factor authenticatie afdwingen (ServiceSettings.EnforceMultifactorAuthentication, uit): iedereen moet het instellen, bij registratie of bij de volgende inlogpoging.

Als iemand hun apparaat verliest: amctl user resetmfa <user>, of reset het vanaf hun pagina in Systeemconsole › Gebruikersbeheer › Gebruikers.

Single sign-on

Antimatter kan gebruikers aanmelden via uw identiteitsprovider. Bij de eerste aanmelding maakt het hun account (als accountcreatie is toegestaan) aan op basis van de naam, het e-mailadres en de gebruikersnaam die de provider verstuurt.

OpenID Connect, GitLab, Google en Entra ID

Ga naar Systeemconsole › Authenticatie › OpenId Connect, en kies onder Selecteer aanbieder: GitLab, Google Apps, Entra ID (Office 365) of OpenID Connect (Andere) voor een andere provider (Keycloak, Authentik, Zitadel, Okta, Auth0…).

  1. Maak in uw provider een toepassing (een "client") van het type web aan, met deze redirect-URI, voor de URL van uw site:
    ProviderRedirect-URI
    OpenID Connect (Anders)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. In Antimatter, vul het Discovery eindpunt in (de /.well-known/openid-configuration URL van de provider; voor GitLab, de GitLab Site URL in plaats daarvan), de Klant ID en het Client geheim. Voor andere providers, ook de Knopnaam en Knopkleur van de inlogknop.
  3. Gebruik de voorkeursgebruikersnaam (GitLab en andere providers) haalt de Antimatter-gebruikersnaam uit de preferred_username-claim van de provider.
  4. Sla op, meld af en probeer de nieuwe knop op de aanmeldpagina.

De instellingen worden opgeslagen in OpenIdSettings, GitLabSettings, GoogleSettings of Office365Settings (bijvoorbeeld AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). De oudere OAuth 2.0-pagina verschijnt alleen voor servers die nog een OAuth 2.0-configuratie voor GitLab, Google of Entra ID hebben.

SAML 2.0

Schakel in Systeem console › Authenticatie › SAML 2.0 Aanmelden met SAML 2.0 Inschakelen (SamlSettings.Enable) in en vul in wat uw identiteitsprovider u verstrekt: de Identiteitsprovider Metadata URL, of de SAML SSO URL, de Identity Provider Issuer URL en het Identity Provider publiek certificaat. Aan de kant van de identiteitsprovider:

  • Login-URL van de serviceprovider (assertion consumer service): https://chat.example.com/login/sso/saml;
  • De metadata van Antimatter, voor providers die deze importeren: https://chat.example.com/api/v4/saml/metadata.

Koppel de attributen die uw provider verstuurt: ten minste het E-mail attribuut en het Gebruikersnaam Attribuut, en optioneel de ID, voornaam, achternaam, bijnaam, functie, taal, gast- en beheerderattributen. Handtekening verifiëren en Inschakelen van versleuteling zijn standaard ingeschakeld (versleuteling vereist een serviceprovider-sleutel en certificaat; alleen RSA-sleutels worden ondersteund); Aanvraag ondertekenen is uit. Het handtekeningalgoritme is standaard RSAwithSHA256.

AD/LDAP

In Systeem console › Authenticatie › AD/LDAP koppelt een stap-voor-stap-pagina Antimatter aan Active Directory of een andere LDAP-server: de server en poort (LdapSettings.LdapServer, LdapSettings.LdapPort, standaard 389), de verbindingsbeveiliging (geen, TLS of STARTTLS), de basis-DN en een bind-account (BaseDN, BindUsername, BindPassword), filters voor gebruikers, gasten, beheerders en groepen, en de attributen voor e-mail, gebruikersnaam, ID, namen en foto. Mensen kunnen zich daarna aanmelden met hun directory-login.

Een synchronisatiejob wordt elke 60 minuten uitgevoerd (LdapSettings.SyncIntervalMinutes) om namen bij te werken en personen die uit de directory zijn verwijderd, te deactiveren; voer deze nu uit met amctl ldap sync. LDAP-groepen kunnen worden gekoppeld aan gemeenschappen en kanalen in Systeem console › Gebruikersbeheer › Groepen. SAML-accounts kunnen ook gesynchroniseerd worden met AD/LDAP (Synchronisatie van SAML-accounts met AD/LDAP inschakelen).

Bestaande accounts verplaatsen

Om bestaande e-mailaccounts over te zetten naar single sign-on, verplaatst amctl user migrate-auth email saml users.json (of ldap) ze in bulk. Een gebruiker kan ook de eigen aanmeldmethode wijzigen in de beveiligingsinstellingen wanneer Overdracht van verificatie toestaan (ServiceSettings.ExperimentalEnableAuthenticationTransfer, in Systeem console › Experimenteel › Functies) is ingeschakeld.

Gastaccounts

Gasten zijn personen buiten uw organisatie die alleen de kanalen zien waartoe ze zijn uitgenodigd. Schakel ze in via Systeem console › Authenticatie › Gasttoegang:

InstellingSleutelStandaardwaarde
Gasttoegang InschakelenGuestAccountsSettings.EnableUit
Goedgekeurde gastdomeinenGuestAccountsSettings.RestrictCreationToDomainsleeg: gasten mogen elk e-maildomein hebben
Multi-factor authenticatie afdwingenGuestAccountsSettings.EnforceMultifactorAuthenticationuit; alleen beschikbaar wanneer MFA voor iedereen is ingeschakeld en verplicht
Gast-tag verbergenGuestAccountsSettings.HideTagsuit: er wordt een "guest"-label naast de naam getoond

Wanneer ingeschakeld, nodigen communitybeheerders gasten uit voor specifieke kanalen. Beheerders kunnen een lid demoveren tot gast met amctl user demote, en een gast promoveren tot lid met amctl user promote.

Sessies

De duur van de aanmelding wordt ingesteld in Systeem console › Omgeving › Sessielengte:

InstellingSleutelStandaard op een nieuwe server
Lengte van sessie uitbreiden met activiteitServiceSettings.ExtendSessionLengthWithActivityaan: sessies worden vernieuwd terwijl mensen Antimatter gebruiken
Sessieduur AD/LDAP en e-mail (uren)ServiceSettings.SessionLengthWebInHours720 uur (30 dagen)
Sessieduur voor mobiel (uren)ServiceSettings.SessionLengthMobileInHours720 uur
Sessieduur voor SSO (uren)ServiceSettings.SessionLengthSSOInHours720 uur
Timeout bij inactiviteit van sessie (minuten)ServiceSettings.SessionIdleTimeoutInMinutes43200 minuten (30 dagen); alleen zichtbaar wanneer sessies niet worden verlengd door activiteit
Sessies beëindigen als wachtwoord wordt gewijzigdServiceSettings.TerminateSessionsOnPasswordChangeaan

Om iedereen tegelijk af te melden, gebruikt u Alle Sessies Intrekken in Systeem console › Gebruikersbeheer › Gebruikers. Om één persoon af te melden, opent u diens pagina daar.