Pag-sign-in at mga account
Tiyakin kung sino ang makagawa ng account at paano mag-sign-in ang mga tao. Ang bawat paraan ng pag-sign-in ng Antimatter ay gumagana nang walang lisensya, kasama ang single sign-on at mga directory.
Sino ang makagawa ng account
Kaagad pagkatapos i-install, tingnan ang System Console › Authentication › Pagparehistro. Sa mga default, sinumang may invitation link sa isang community ay maaaring gumawa ng account, ngunit walang makakapag-sign up kung wala ito.
| Setting | Susi | Default | Ginagawa nito |
|---|---|---|---|
| Pahintulutan ang Paglikha ng Account | TeamSettings.EnableUserCreation | on | Kung off, hindi na makakagawa ng account ang sinuman sa anumang paraan; ang mga administrator lang ang makakagawa (System Console o amctl user create). |
| Pahintulutan ang Open Server | TeamSettings.EnableOpenServer | Off | Kung on, ang sinumang makakarating sa server ay makakapag-sign-up gamit ang email address, nang walang imbitasyon. Gamitin ito lamang para sa mga pampublikong community. |
| Restrict new system and team members to specified email domains | TeamSettings.RestrictCreationToDomains | walang laman | Mga domain na hiwalay sa comma, halimbawa example.com, example.org: ang mga address ng mga domain na ito lamang ang makakagawa ng account. |
| Pahintulutan ang Email Invitations | ServiceSettings.EnableEmailInvitations | off sa bagong server | Pinapayagan ang mga miyembro na mag-imbita ng mga tao sa pamamagitan ng email (kailangan ang SMTP). Ang I-invalidate ang mga pending na email invitation ay kinakansela ang mga imbitasyon na hindi pa tinanggap; mag-e-expire ang mga ito pagkatapos ng 48 oras sa kabila ng lahat. |
Ang mga admin ng community ay kontrolin din kung sino ang sumasali sa kanilang community, gamit ang mga invitation link at kanilang sariling pinapayagang domain: tingnan ang Running a community guide.
Mula sa command line: amctl user create (dagdagan ng --system-admin o --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> upang gawing system administrator ang isang tao, at amctl roles member <user> upang ibalik ito.
Email at password
Sa System Console › Authentication › Email:
| Setting | Susi | Default |
|---|---|---|
| Paganahin ang paglikha ng account gamit ang email | EmailSettings.EnableSignUpWithEmail | on. I-off ito kapag ang lahat ay nag-sign-in gamit ang single sign-on. |
| Kinakailangan ng Email Verification | EmailSettings.RequireEmailVerification | off. I-on ito kapag gumagana na ang email: pinapatunayan ng mga tao ang kanilang address bago sila makapag-sign-in. |
| Paganahin ang sign-in gamit ang email | EmailSettings.EnableSignInWithEmail | on |
| Paganahin ang sign-in gamit ang username | EmailSettings.EnableSignInWithUsername | on |
Sa System Console › Authentication › Password:
| Setting | Susi | Default |
|---|---|---|
| Minimum na haba ng Password | PasswordSettings.MinimumLength | 8 (5 hanggang 72) |
| Mga Kinakailangan ng Password: lowercase, uppercase, numero, simbolo | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | lahat ay patay |
| Maximum Login Attempts | ServiceSettings.MaximumLoginAttempts | 10: pagkatapos ng ganitong maraming pagkakamali, nalulock ang account hangga't hindi na-reset ang password nito sa pamamagitan ng email |
| Pahintulutan ang Forgot Password Link | PasswordSettings.EnableForgotLink | on |
Ang habang 12 o mas marami pa ay nagbibigay ng mas malaking seguridad kaysa sa mga patakaran sa karakter. Para i-reset ang password ng isang tao: System Console › Pamamahala ng Mga User › Mga User, o amctl user change-password <user> --password <new>.
Multi-factor authentication
Ang multi-factor authentication (MFA) ay nagdadagdag ng code mula sa authenticator app sa password. Ito ay naaangkop sa mga account na nag-sign in gamit ang email o AD/LDAP; sa single sign-on, gamitin ang MFA ng iyong identity provider. Sa System Console › Authentication › MFA:
- Pahintulutan ang Multi-factor Authentication (
ServiceSettings.EnableMultifactorAuthentication, naka-off): maaaring buksan ng mga tao ang MFA sa kanilang mga security settings. - Patupad ang Multi-factor Authentication (
ServiceSettings.EnforceMultifactorAuthentication, naka-off): kailangang i-set up ito ng lahat, sa pag-sign-up o sa kanilang susunod na sign-in.
Kung mawalan ng device ang isang tao: amctl user resetmfa <user>, o i-reset ito mula sa kanilang page sa System Console › Pamamahala ng Mga User › Mga User.
Single sign-on
Maaaring i-sign in ng Antimatter ang mga tao sa pamamagitan ng iyong identity provider. Sa unang pag-sign in, nililikha nito ang account nila (kung pinapayagan ang paglikha ng account) mula sa pangalan, email, at username na ipinadala ng provider.
OpenID Connect, GitLab, Google, at Entra ID
Pumunta sa System Console › Authentication › OpenID Connect, at piliin sa ilalim ng Piliin ang service provider: GitLab, Google Apps, Entra ID (Office 365) o OpenID Connect (Iba pa) para sa anumang ibang provider (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- Sa iyong provider, lumikha ng isang application (isang "client") ng web type, gamit ang redirect URI na ito, para sa URL ng iyong site:
Provider Redirect URI OpenID Connect (Iba pa) 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 - Sa Antimatter, punan ang Discovery Endpoint (ang
/.well-known/openid-configurationURL ng provider; para sa GitLab, ang GitLab Site URL sa halip), ang Client ID at ang Client Secret. Para sa ibang providers, punan din ang Pangalan ng Button at Kulay ng Button ng sign-in button. - Gumamit ng Preferred Username (GitLab at ibang provider) kinukuha ang username ng Antimatter mula sa
preferred_usernameclaim ng provider. - I-save, mag-sign out, at subukan ang bagong button sa sign-in page.
Ang mga setting ay nakaimbak sa OpenIdSettings, GitLabSettings, GoogleSettings o Office365Settings (halimbawa AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Ang Additional Scopes (AM_OPENIDSETTINGS_ADDITIONALSCOPES) ay humihingi sa provider ng karagdagang OAuth scopes, hiwalay sa espasyo, bukod sa mga default. Ang lumang OAuth 2.0 page ay lumalabas lamang para sa mga server na may natitirang OAuth 2.0 GitLab, Google o Entra ID configuration.
Para sa plain OpenID Connect (hindi GitLab, Google o Entra ID), ang pag-sign in ay sumisinkronize rin ng mga user attribute na iyong nai-link sa isang claim: Binabasa ng Antimatter ang ID token at ang userinfo response (ang userinfo ang mananalo kapag pareho silang may claim), subukin muna ang pangalan ng claim bilang isang top-level key, pagkatapos bilang dot-separated nesting (halimbawa address.country) kung walang tumugma. Ang isang claim na hindi kasama sa response ay buburahin ang attribute na nai-link dito, dahil ang provider ang itinuturing na pinagmumulan ng katotohanan para sa kung ano ang isisinkronize nito. Ito ay naka-on by default; isara ito sa pamamagitan ng AM_FEATUREFLAGS_OPENIDATTRIBUTESYNC=false.
SAML 2.0
Sa System Console › Pagpapatunay › SAML 2.0, i-on ang Paggamitan ang Login gamit ang SAML 2.0 (SamlSettings.Enable) at punan ang ibinigay ng iyong identity provider: ang Identity Provider Metadata URL, o ang SAML SSO URL, ang Identity Provider Issuer URL at ang Identity Provider Public Certificate. Sa panig ng identity provider:
- Service Provider Login URL (assertion consumer service):
https://chat.example.com/login/sso/saml; - Metadata ng Antimatter, para sa mga provider na nag-i-import nito:
https://chat.example.com/api/v4/saml/metadata.
I-map ang mga attribute na ipinadadala ng iyong provider: hindi bababa sa Email Attribute at Username Attribute, at opsyonal ang ID, first at last name, nickname, posisyon, wika, guest at admin attributes. Ang I-verify ang Signature at Paggamitan ang Encryption ay naka-on by default (ang encryption ay nangangailangan ng service provider key at certificate; RSA keys lamang ang suportado); ang I-sign ang Request ay naka-off. Ang signature algorithm ay default na RSAwithSHA256.
AD/LDAP
Sa System Console › Pagpapatunay › AD/LDAP, may isang pahinang naglalarawan ng mga hakapan para ikonekta ang Antimatter sa Active Directory o sa ibang LDAP server: ang server at port (LdapSettings.LdapServer, LdapSettings.LdapPort, na ang default ay 389), ang seguridad ng koneksyon (walang, TLS o STARTTLS), ang base DN at ang bind account (BaseDN, BindUsername, BindPassword), ang mga filter para sa mga user, bisita, admin at grupo, at ang mga attribute para sa email, username, ID, pangalan at larawan. Pagkatapos, makakapag-sign in ang mga tao gamit ang kanilang login sa directory.
May isang synchronisation job na tumatakbo bawat 60 minuto (LdapSettings.SyncIntervalMinutes) upang i-update ang mga pangalan at i-deactivate ang mga taong inalis sa directory; patakbuhin ito ngayon gamit ang amctl ldap sync. Maaaring i-link ang mga LDAP group sa mga community at channel sa System Console › Pamamahala ng Mga User › Mga Grupo. Maaari ring i-sync ang mga SAML account sa AD/LDAP (Paggamitan ang Synchronizing ng mga SAML Account sa AD/LDAP).
Ang mga custom profile attribute na na-map sa isang AD/LDAP o SAML attribute, sa System Console › Mga Attributo ng Sistema, ay nagse-sync sa parehong paraan mula sa pareho: ang halaga ng isang text attribute ay kinokopya kung paano ito ipinadala ng directory o assertion, hanggang sa 64 character (kung mas mahaba ang halaga, binubura ang attribute sa halip na hiwain); ang halaga ng isang select o multiselect attribute ay inihahambing sa isang umiiral na option anuman ang case, at pinapanatili ang spelling ng option na iyon, at isang bagong option ang ginagawa kung walang tumutugma. Ang mga option na wala nang hawak ng sinuman ay inaalis, at ang listahan ng option ng isang synced attribute ay maaaring baguhin lamang ng sync na may-ari nito, hindi sa pamamagitan ng pag-edit sa System Console.
Paglipat ng mga existing na account
Upang ilipat ang mga umiiral na email account sa single sign-on, ang amctl user migrate-auth email saml users.json (o ldap) ay lilipat ang mga ito nang bulk. Maaari ring baguhin ng isang user ang kanilang sariling paraan ng pag-sign in sa kanilang mga security setting kapag naka-on ang Pahintulutan ang Paglipat ng Authentication (ServiceSettings.ExperimentalEnableAuthenticationTransfer, sa System Console › Pang-eksperimento › Mga Feature).
Mga Guest account
Ang mga Bisita ay mga tao mula sa labas ng iyong organisasyon na nakakakita lamang ng mga channel na binibigyan sila ng imbitasyon. I-enable ang mga ito sa System Console › Pagpapatunay › Access ng Bisita:
| Setting | Susi | Default |
|---|---|---|
| I-enable ang Guest Access | GuestAccountsSettings.Enable | Off |
| Mga Pinapayagang Guest Domain | GuestAccountsSettings.RestrictCreationToDomains | walang laman: maaaring mayroong anumang email domain ang mga Bisita |
| Patupad ang Multi-factor Authentication | GuestAccountsSettings.EnforceMultifactorAuthentication | off; available lamang kapag naka-enable at naka-enforce ang MFA para sa lahat |
| Itago ang guest tag | GuestAccountsSettings.HideTags | off: ipapakita ang "guest" tag sa tabi ng pangalan nila |
Kapag naka-on na, imbitahan ng mga community admin ang mga Bisita sa partikular na mga Channel. Maaaring palitan ng Administrators ang isang Miyembro na Bisita gamit ang amctl user demote, at ang isang Bisita na Miyembro gamit ang amctl user promote.
Mga Session
Ang tagal ng pag-sign in ng mga tao ay nakatakda sa System Console › Environment › Habang ng Sesyon:
| Setting | Susi | Default sa isang bagong server |
|---|---|---|
| Palawakin ang haba ng session sa pamamagitan ng aktibidad | ServiceSettings.ExtendSessionLengthWithActivity | on: ipapa-update ang mga session habang ginagamit ng mga tao ang Antimatter |
| Habang ng Sesyon para sa AD/LDAP at Email (oras) | ServiceSettings.SessionLengthWebInHours | 720 oras (30 araw) |
| Session Length Mobile (oras) | ServiceSettings.SessionLengthMobileInHours | 720 oras |
| Habang ng SSO Session (oras) | ServiceSettings.SessionLengthSSOInHours | 720 oras |
| Session Idle Timeout (minuto) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 minuto (30 araw); ipapakita lamang kapag hindi ipinapa-extend ang mga session gamit ang activity |
| Tapusin ang mga Session kapag Nagbago ang Password | ServiceSettings.TerminateSessionsOnPasswordChange | on |
Upang mag-sign out sa lahat nang sabay-sabay, gamitin ang Burahin ang Lahat ng Session sa System Console › Pamamahala ng Mga User › Mga User. Upang mag-sign out sa isang tao, buksan ang kanilang pahina doon.