سائن ان اور اکاؤنٹس
فیصلہ کریں کہ کون اکاؤنٹ بنا سکتا ہے اور لوگ کیسے سائن ان کرتے ہیں۔ 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 میں:
- Multi-factor Authentication فعال کریں (
ServiceSettings.EnableMultifactorAuthentication, off): لوگ اپنے سیکیورٹی ترتیبات میں MFA کو آن کر سکتے ہیں۔ - ملٹی فیکٹر اتھنٹیکیشن کو لازمی بنائیں (
ServiceSettings.EnforceMultifactorAuthentication, off): ہر کوئی اسے سیٹ اپ کرنا پڑے گا، سائن اپ کے وقت یا اگلے سائن ان پر۔
اگر کوئی اپنا ڈیوائس کھو دے: amctl user resetmfa <user>، یا سسٹم کنسول › صارفین کا انتظام › صارفین میں ان کی پیج سے اسے ری سیٹ کریں۔
سنگل سائن ان
Antimatter آپ کے آئی ڈینٹیٹی پرووائیڈر کے ذریعے لوگوں کو سائن ان کر سکتا ہے۔ پہلی بار سائن ان پر، یہ پرووائیڈر کے بھیجے ہوئے نام، ای میل اور یوزر نیم سے ان کا اکاؤنٹ بناتا ہے (اگر اکاؤنٹ کی تخلیق کی اجازت ہو)۔
OpenID Connect, GitLab, Google اور Entra ID
سسٹم کنسول › تصدیق › OpenID Connect پر جائیں، اور سروس فراہم کنندہ منتخب کریں کے تحت منتخب کریں: GitLab, Google Apps, Entra ID (Office 365) یا کسی دوسرے پرووائیڈر کے لیے OpenID Connect (دیگر) (Keycloak, Authentik, Zitadel, Okta, Auth0…)۔
- اپنے پرووائیڈر میں، اپنے سائٹ URL کے لیے اس ری ڈائریکٹ URI کے ساتھ ویب ٹائپ کا ایک ایپلیکیشن (ایک "کلائنٹ") بنائیں:
پرووائیڈر ری ڈائریکٹ URI OpenID Connect (دیگر) 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 میں، ڈسکوری اینڈ پوائنٹ (پرووائیڈر کا
/.well-known/openid-configurationURL؛ GitLab کے لیے اس کے بجائے GitLab سائٹ یو آر آئی)، کلائنٹ ID اور کلائنٹ سیکرٹ بھریں۔ دوسرے پرووائیڈرز کے لیے، سائن ان بٹن کا بٹن کا نام اور Button Color بھی۔ - ترجیحی صارف نام استعمال کریں (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 کے ذریعے فراہم کردہ معلومات درج کریں: Identity Provider میٹا ڈیٹا URL، یا SAML SSO URL، Identity Provider آئی شوئر URL اور Identity Provider عوامی سرٹیفکیٹ۔ Identity Provider کی طرف سے:
- Service Provider Login URL (assertion consumer service):
https://chat.example.com/login/sso/saml; - Antimatter کی میٹا ڈیٹا، ان پرووائڈرز کے لیے جو اسے امپورٹ کرتے ہیں:
https://chat.example.com/api/v4/saml/metadata.
اپنے پرووائڈر کے بھیجے ہوئے ایٹریبیوٹس کو میپ کریں: کم از کم ای میل ایٹریبیوٹ اور صارف نام کی خصوصیت، اور اختیاری طور پر ID، پہلا اور آخری نام، نکل نیام، عہدہ، زبان، مہمان اور ایڈمن ایٹریبیوٹس۔ دستخط کی تصدیق کریں اور انکرپشن فعال کریں پہلے سے آن ہیں (انکرپشن کے لیے service provider کی کلید اور سرٹیفکیٹ درکار ہے؛ صرف 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) ایک ہم آہنگی (synchronisation) جاب چلتی ہے تاکہ ناموں کو اپ ڈیٹ کیا جا سکے اور ڈائریکٹری سے ہٹائے گئے لوگوں کو غیر فعال کیا جا سکے؛ اسے ابھی چلانے کے لیے amctl ldap sync استعمال کریں۔ LDAP گروپس کو سسٹم کنسول › صارفین کا انتظام › گروپس میں کمیونٹیز اور چینلز سے جوڑا جا سکتا ہے۔ SAML اکاؤنٹس کو AD/LDAP کے ساتھ ہم آہنگ رکھا جا سکتا ہے (SAML اکاؤنٹس کو AD/LDAP کے ساتھ ہم آہنگ کرنا فعال کریں)۔
موجودہ اکاؤنٹس کو منتقل کرنا
موجودہ ای میل اکاؤنٹس کو سنگل سائن آن پر تبدیل کرنے کے لیے، amctl user migrate-auth email saml users.json (یا ldap) انہیں بیک وقت منتقل کر دیتا ہے۔ جب تصدیقی منتقلی کی اجازت دیں (ServiceSettings.ExperimentalEnableAuthenticationTransfer، جو سسٹم کنسول › تجرباتی › خصوصیات میں موجود ہے) فعال ہو، تو صارف اپنے سیکیورٹی ترتیبات میں اپنا سائن ان طریقہ بھی بدل سکتا ہے۔
مہمان اکاؤنٹس
مہمان وہ افراد ہیں جو آپ کی تنظیم سے باہر سے ہیں اور صرف ان چینلز کو دیکھ سکتے ہیں جن میں انہیں مدعو کیا گیا ہے۔ انہیں سسٹم کنسول › تصدیق › مہمان رسائی میں فعال کریں:
| ترتیب | کلید | ڈیفالٹ |
|---|---|---|
| مہمان رسائی فعال کریں | GuestAccountsSettings.Enable | غیر فعال |
| Whitelisted Guest Domains | 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 | آن |
سب کو ایک ساتھ سائن آؤٹ کرنے کے لیے، سسٹم کنسول › صارفین کا انتظام › صارفین میں تمام سیشنز منسوخ کریں استعمال کریں۔ کسی ایک شخص کو سائن آؤٹ کرنے کے لیے، وہاں اس کا صفحہ کھولیں۔