साइन-इन और खाते
निर्णय करें कि कौन खाता बना सकता है और लोग कैसे साइन-इन करते हैं। Antimatter की हर साइन-इन विधि लाइसेंस के बिना काम करती है, जिसमें सिंगल साइन-ऑन और डायरेक्टरी शामिल हैं।
कौन खाता बना सकता है
इंस्टॉल के तुरंत बाद, सिस्टम कंसोल › प्रमाणीकरण › साइनअप जांचें। डिफ़ॉल्ट सेटिंग्स के अनुसार, किसी भी कम्युनिटी के आमंत्रण लिंक के पास वाले कोई भी अक़ाउंट बना सकते हैं, लेकिन बिना आमंत्रण के कोई साइनअप नहीं कर सकता।
| सेटिंग | कुंजी | डिफ़ॉल्ट | यह क्या करता है |
|---|---|---|---|
| अक़ाउंट निर्मण सक्षम करें | TeamSettings.EnableUserCreation | चालू | बंद, कोई भी विधि से खाता नहीं बना सकता; केवल एडमिन ही बना सकते हैं (सिस्टम कंसोल या amctl user create)। |
| ओपन सर्वर सक्षम करें | TeamSettings.EnableOpenServer | बंद | चालू, सर्वर तक पहुँचने वाला कोई भी ईमेल पता से बिना आमंत्रण के साइन-अप कर सकता है। इसका उपयोग केवल सार्वजनिक समुदायों के लिए करें। |
| नए सिस्टम और टीम सदस्यों को निर्दिष्ट ईमेल डोमेन तक सीमित करें | TeamSettings.RestrictCreationToDomains | खाली | कॉमा-विभाजित डोमेन, उदाहरण के लिए example.com, example.org: केवल इन डोमेन के पते खाता बना सकते हैं। |
| ईमेल आमंत्रण सक्षम करें | ServiceSettings.EnableEmailInvitations | नए सर्वर पर बंद | सदस्यों को ईमेल के माध्यम से लोगों को आमंत्रित करने की अनुमति देता है (इसके लिए SMTP आवश्यक है)। लंबित ईमेल आमंत्रण अमान्य करें उन आमंत्रणों को रद्द करता है जो अभी तक स्वीकार नहीं किए गए हैं; वे 48 घंटे बाद स्वतः समाप्त हो जाते हैं। |
समुदाय एडमिन भी आमंत्रण लिंक और उनके अपने अनुमत डोमेन के माध्यम से नियंत्रित करते हैं कि उनके समुदाय में कौन जुड़ता है: समुदाय चलाएँ गाइड देखें।
कमांड लाइन से: amctl user create (जोड़ें --system-admin या --guest), amctl user invite, amctl user deactivate, किसी को सिस्टम एडमिन बनाने के लिए amctl roles system-admin <user>, और इसे रद्द करने के लिए amctl roles member <user>।
ईमेल और पासवर्ड
सिस्टम कंसोल › प्रमाणीकरण › ईमेल में:
| सेटिंग | कुंजी | डिफ़ॉल्ट |
|---|---|---|
| ईमेल के साथ खाता निर्माण सक्षम करें | EmailSettings.EnableSignUpWithEmail | चालू। जब सभी सिंगल साइन-ऑन के माध्यम से साइन-इन करते हैं, तो इसे बंद करें। |
| ईमेल सत्यापन आवश्यक करें | EmailSettings.RequireEmailVerification | बंद। एक बार ईमेल काम करने लगे, इसे चालू करें: तब लोग साइन-इन करने से पहले अपना पता सत्यापित करते हैं। |
| ईमेल के साथ साइन-इन सक्षम करें | EmailSettings.EnableSignInWithEmail | चालू |
| उपयोगकर्ता नाम के साथ साइन-इन सक्षम करें | EmailSettings.EnableSignInWithUsername | चालू |
सिस्टम कंसोल › प्रमाणीकरण › पासवर्ड में:
| सेटिंग | कुंजी | डिफ़ॉल्ट |
|---|---|---|
| न्यूनतम पासवर्ड लंबाई | PasswordSettings.MinimumLength | 8 (5 से 72) |
| पासवर्ड आवश्यकताएँ: लोअरकेस, अपरकेस, अंक, प्रतीक | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | सब बंद |
| अधिकतम लॉगिन प्रयास | ServiceSettings.MaximumLoginAttempts | 10: इतने असफल प्रयासों के बाद, अकाउंट तब तक लॉक रहता है जब तक कि ईमेल द्वारा उसका पासवर्ड रीसेट न किया जाए |
| पासवर्ड भूल गए लिंक सक्षम करें | PasswordSettings.EnableForgotLink | चालू |
12 या अधिक लंबाई वाले पासवर्ड, कैरेक्टर रूल्स की तुलना में सुरक्षा के लिए अधिक कारगर हैं। किसी के पासवर्ड को रीसेट करने के लिए: सिस्टम कंसोल › यूज़र प्रबंधन › उपयोगकर्ता, या amctl user change-password <user> --password <new>।
मल्टी-फैक्टर ऑथेंटिकेशन
मल्टी-फैक्टर प्रमाणीकरण (MFA) पासवर्ड के साथ एक ऑथेंटिकेटर ऐप से कोड जोड़ता है। यह उन अक़ाउंट्स पर लागू होता है जो ईमेल या AD/LDAP के साथ साइन-इन करते हैं; सिंगल साइन-ऑन के साथ, अपने आइडेंटिटी प्रोवाइडर का MFA इस्तेमाल करें। सिस्टम कंसोल › प्रमाणीकरण › MFA में:
- मल्टी-फैक्टर ऑथेंटिकेशन सक्षम करें (
ServiceSettings.EnableMultifactorAuthentication, बंद): लोग अपनी सुरक्षा सेटिंज्स में MFA चालू कर सकते हैं। - मल्टी-फैक्टर प्रमाणीकरण लागू करें (
ServiceSettings.EnforceMultifactorAuthentication, बंद): सभी को इसे साइनअप के समय या अपने अगले साइन-इन पर सेटअप करना होगा।
अगर किसी का डिवाइस खो जाता है: amctl user resetmfa <user>, या सिस्टम कंसोल › यूज़र प्रबंधन › उपयोगकर्ता में उनके पेज से इसे रीसेट करें।
सिंगल साइन-ऑन
Antimatter आपके आइडेंटिटी प्रोवाइडर के माध्यम से लोगों को साइन इन कर सकता है। पहले साइन-इन पर, यह प्रोवाइडर द्वारा भेजे गए नाम, ईमेल और यूज़रनेम से उनका अकाउंट बनाता है (यदि अकाउंट निर्माण की अनुमति है)।
OpenID Connect, GitLab, Google और Entra ID
सिस्टम कंसोल › प्रमाणीकरण › OpenID Connect पर जाएँ, और सेवा प्रदाता चुनें के तहत चुनें: GitLab, Google Apps, Entra ID (Office 365) या किसी अन्य प्रोवाइडर (Keycloak, Authentik, Zitadel, Okta, Auth0…) के लिए OpenID Connect (अन्य)।
- अपने प्रोवाइडर में, वेब प्रकार का एक एप्लिकेशन (एक "क्लाइंट") बनाएं, जिसमें आपकी साइट URL के लिए यह रीडायरेक्ट URI हो:
प्रोवाइडर रीडायरेक्ट URI OpenID Connect (Other) 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 - Antimatter में, Discovery Endpoint (प्रोवाइडर का
/.well-known/openid-configurationURL; GitLab के लिए इसके बजाय GitLab साइट URL), क्लाइंट ID और क्लाइंट सीक्रेट भरें। अन्य प्रोवाइडर के लिए, साइन-इन बटन का बटन का नाम और बटन का रंग भी भरें। - Preferred Username का उपयोग करें (GitLab और अन्य प्रोवाइडर) Antimatter उपयोगकर्ता नाम को प्रोवाइडर के
preferred_usernameक्लेम से लेता है। - सेव करें, साइन आउट करें, और साइन-इन पेज पर नया बटन आज़माएं।
सेटिंग्स OpenIdSettings, GitLabSettings, GoogleSettings या Office365Settings में स्टोर की जाती हैं (उदाहरण के लिए AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET)। पुरानी OAuth 2.0 पेज केवल उन सर्वरों के लिए दिखाई देती है जिनमें अभी भी OAuth 2.0 GitLab, Google या Entra ID कॉन्फ़िगरेशन मौजूद है।
SAML 2.0
सिस्टम कंसोल › प्रमाणीकरण › SAML 2.0 में, SAML 2.0 के साथ लॉगिन सक्षम करें (SamlSettings.Enable) चालू करें और अपने आइडेंटिटी प्रोवाइडर द्वारा दिए गए विवरण भरें: Identity Provider Metadata URL, या SAML SSO URL, Identity Provider जारीकर्ता URL और Identity Provider सार्वजनिक सर्टिफिकेट। आइडेंटिटी प्रोवाइडर की ओर से:
- Service Provider Login URL (assertion consumer service):
https://chat.example.com/login/sso/saml; - Antimatter की metadata, उन providers के लिए जो इसे import करते हैं:
https://chat.example.com/api/v4/saml/metadata।
अपने प्रदाता द्वारा भेजे गए विशेषताओं (attributes) का मानचित्रण करें: कम से कम ईमेल एट्रिब्यूट और यूज़रनेम विशेषता, और वैकल्पिक रूप से ID, पहला और अंतिम नाम, नक़्क़ाब, पद, भाषा, अतिथि और एडमिन विशेषताएँ। हसताकक्षर सत्यापित करें और एनक्रिप्शन सक्रिय करें डिफ़ॉल्ट रूप से चालू हैं (एनक्रिप्शन के लिए सेवा प्रदाता की कुंजी और प्रमाणपत्र आवश्यक है; केवल RSA कुंजियाँ समर्थित हैं); अनुरोध हस्ताक्षरित करें बंद है। हस्ताक्षर एल्गोरिदम डिफ़ॉल्ट रूप से RSAwithSHA256 होता है।
AD/LDAP
सिस्टम कंसोल › प्रमाणीकरण › AD/LDAP में, एक चरण-दर-चरण पेज Antimatter को Active Directory या किसी अन्य LDAP सर्वर से जोड़ता है: सर्वर और पोर्ट (LdapSettings.LdapServer, LdapSettings.LdapPort, डिफ़ॉल्ट 389), कनेक्शन सुरक्षा (कोई नहीं, TLS या STARTTLS), बेस DN और बाइंड खाता (BaseDN, BindUsername, BindPassword), उपयोगकर्ताओं, अतिथियों, एडमिन और समूहों के लिए फ़िल्टर, और ईमेल, यूज़रनेम, ID, नामों और तस्वीर के लिए विशेषताएँ। उपयोगकर्ता तब अपने डायरेक्टरी लॉगिन से साइन इन करते हैं।
हर 60 मिनट में एक सिंक जॉब (LdapSettings.SyncIntervalMinutes) चलती है जो नामों को अपडेट करती है और डायरेक्टरी से हटाए गए लोगों को निष्क्रिय कर देती है; इसे अभी चलाने के लिए amctl ldap sync चलाएँ। LDAP समूहों को सिस्टम कंसोल › यूज़र प्रबंधन › समूह में कम्युनิตियों और चैनलों से जोड़ा जा सकता है। SAML खातों को AD/LDAP के साथ सिंक में भी रखा जा सकता है (AD/LDAP के साथ SAML खातों का सिंक सक्रिय करें)।
मौजूदा खातों को स्थानांतरित करना
मौजूदा ईमेल खातों को सिंगल साइन-ऑन (SSO) में बदलने के लिए, amctl user migrate-auth email saml users.json (या ldap) उन्हें बल्क में स्थानांतरित करता है। यदि प्रमाणीकरण स्थानांतरण की अनुमति दें (ServiceSettings.ExperimentalEnableAuthenticationTransfer, सिस्टम कंसोल › प्रयोगात्मक › विशेषताएँ में) चालू है, तो उपयोगकर्ता अपनी सुरक्षा सेटिंग्स में अपना साइन-इन विधि भी स्वयं बदल सकते हैं।
अतिथि खाते
अतिथि वे लोग हैं जो आपकी संस्था से बाहर से हैं और केवल उन चैनलों को देख सकते हैं जिनमें उन्हें आमंत्रित किया गया है। उन्हें सिस्टम कंसोल › प्रमाणीकरण › अतिथि पहुंच में चालू करें:
| सेटिंग | कुंजी | डिफ़ॉल्ट |
|---|---|---|
| अतिथि एकसेस सक्रिय करें | GuestAccountsSettings.Enable | बंद |
| व्हाइटलिस्ट किए गए अतिथि डोमेन | GuestAccountsSettings.RestrictCreationToDomains | खाली: अतिथियों के पास कोई भी ईमेल डोमेन हो सकता है |
| मल्टी-फैक्टर प्रमाणीकरण लागू करें | GuestAccountsSettings.EnforceMultifactorAuthentication | बंद; केवल तभी उपलब्ध जब MFA सभी के लिए चालू और अनिवार्य हो |
| अतिथि टैग छिपाएँ | GuestAccountsSettings.HideTags | बंद: उनके नाम के पास एक "guest" टैग दिखाया जाता है |
एक बार चालू होने के बाद, कम्युनिटी एडमिन अतिथियों को विशिष्ट चैनलों में आमंत्रित करते हैं। एडमिन amctl user demote का उपयोग करके एक सदस्य को अतिथि बना सकते हैं, और amctl user promote का उपयोग करके एक अतिथि को सदस्य बना सकते हैं।
सत्र
लोग कितने समय तक साइन इन रहते हैं, यह सिस्टम कंसोल › पर्यावरण › सत्र अवधि में निर्धारित किया जाता है:
| सेटिंग | कुंजी | नए सर्वर पर डिफ़ॉल्ट |
|---|---|---|
| गतिविधि के साथ सत्र अवधि विस्तारित करें | ServiceSettings.ExtendSessionLengthWithActivity | चालू: जब लोग Antimatter का उपयोग करते हैं, तो सत्र नवीनीकृत किए जाते हैं |
| सत्र अवधि AD/LDAP और ईमेल (घंटे) | ServiceSettings.SessionLengthWebInHours | 720 घंटे (30 दिन) |
| मोबाइल सत्र अवधि (घंटे) | ServiceSettings.SessionLengthMobileInHours | 720 घंटे |
| SSO सत्र अवधि (घंटे) | ServiceSettings.SessionLengthSSOInHours | 720 घंटे |
| सत्र आइडल टाइमआउट (मिनट) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 मिनट (30 दिन); केवल तभी दिखाया जाता है जब सत्र गतिविधि के साथ नवीनीकृत न हों |
| पासवर्ड परिवर्तन पर सत्र समाप्त करें | ServiceSettings.TerminateSessionsOnPasswordChange | चालू |
सभको एक साथ साइन आउट करे के ले, सिस्टम कंसोल › यूज़र प्रबंधन › उपयोगकर्ता में सभी सेशन रिवोक करें इस्तेमाल करे। केवल एक इंसानको साइन आउट करे के ले, वहाँ उनक पेज खोलें।