Đăng nhập và tài khoản
Quyết định ai có thể tạo tài khoản và cách mọi người đăng nhập. Mọi phương thức đăng nhập của Antimatter đều hoạt động mà không cần giấy phép, bao gồm cả đăng nhập một lần và các danh bạ.
Ai có thể tạo tài khoản
Ngay sau khi cài đặt, kiểm tra Bảng điều khiển Hệ thống › Xác thực › Đăng ký. Với các cài đặt mặc định, bất kỳ ai có liên kết mời đến một cộng đồng đều có thể tạo tài khoản, nhưng không ai có thể đăng ký mà không có liên kết đó.
| Cài đặt | Khóa | Mặc định | Chức năng |
|---|---|---|---|
| Bật tạo tài khoản | TeamSettings.EnableUserCreation | on | Tắt, không ai có thể tạo tài khoản bằng bất kỳ phương thức nào; chỉ quản trị viên mới có thể (Bảng điều khiển Hệ thống hoặc amctl user create). |
| Bật máy chủ mở | TeamSettings.EnableOpenServer | Tắt | Bật, bất kỳ ai truy cập được máy chủ đều có thể đăng ký bằng địa chỉ email, không cần lời mời. Chỉ sử dụng cho các cộng đồng công khai. |
| Hạn chế thành viên hệ thống và nhóm mới vào các miền email được chỉ định | TeamSettings.RestrictCreationToDomains | trống | Các miền phân tách bằng dấu phẩy, ví dụ example.com, example.org: chỉ các địa chỉ thuộc những miền này mới có thể tạo tài khoản. |
| Bật lời mời qua email | ServiceSettings.EnableEmailInvitations | tắt trên máy chủ mới | Cho phép thành viên mời người khác qua email (cần SMTP). Vô hiệu hóa lời mời qua email đang chờ xử lý sẽ hủy các lời mời chưa được chấp nhận; dù sao chúng cũng sẽ hết hạn sau 48 giờ. |
Quản trị viên cộng đồng cũng kiểm soát ai tham gia cộng đồng của họ, bằng liên kết mời và các miền được phép của riêng họ: xem hướng dẫn Vận hành một cộng đồng.
Từ dòng lệnh: amctl user create (thêm --system-admin hoặc --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> để đưa ai đó thành quản trị viên hệ thống, và amctl roles member <user> để hoàn tác.
Email và mật khẩu
Trong Bảng điều khiển Hệ thống › Xác thực › Email:
| Cài đặt | Khóa | Mặc định |
|---|---|---|
| Cho phép tạo tài khoản bằng email | EmailSettings.EnableSignUpWithEmail | bật. Tắt nó khi mọi người đăng nhập thông qua đăng nhập một lần. |
| Yêu cầu xác minh email | EmailSettings.RequireEmailVerification | tắt. Bật nó khi email hoạt động: mọi người sau đó xác nhận địa chỉ của họ trước khi có thể đăng nhập. |
| Cho phép đăng nhập bằng email | EmailSettings.EnableSignInWithEmail | on |
| Cho phép đăng nhập bằng tên người dùng | EmailSettings.EnableSignInWithUsername | on |
Trong Bảng điều khiển Hệ thống › Xác thực › Mật khẩu:
| Cài đặt | Khóa | Mặc định |
|---|---|---|
| Độ dài mật khẩu tối thiểu | PasswordSettings.MinimumLength | 8 (từ 5 đến 72) |
| Yêu cầu mật khẩu: chữ thường, chữ hoa, số, ký tự đặc biệt | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | tất cả tắt |
| Số lần đăng nhập tối đa | ServiceSettings.MaximumLoginAttempts | 10: sau số lần thất bại này, tài khoản sẽ bị khóa cho đến khi mật khẩu được đặt lại qua email |
| Bật liên kết quên mật khẩu | PasswordSettings.EnableForgotLink | on |
Độ dài từ 12 ký tự trở lên mang lại hiệu quả bảo mật cao hơn so với các quy tắc về loại ký tự. Để đặt lại mật khẩu cho một người: Bảng điều khiển Hệ thống › Quản lý người dùng › Người dùng, hoặc amctl user change-password <user> --password <new>.
Xác thực đa yếu tố
Xác thực đa yếu tố (MFA) bổ sung một mã từ ứng dụng xác thực vào mật khẩu. Nó áp dụng cho các tài khoản đăng nhập bằng email hoặc AD/LDAP; với đăng nhập đơn, hãy sử dụng MFA của nhà cung cấp danh tính của bạn. Trong Bảng điều khiển Hệ thống › Xác thực › MFA:
- Bật xác thực đa yếu tố (
ServiceSettings.EnableMultifactorAuthentication, tắt): người dùng có thể bật MFA trong cài đặt bảo mật của họ. - Thực thi xác thực nhiều yếu tố (
ServiceSettings.EnforceMultifactorAuthentication, tắt): mọi người đều phải thiết lập, khi đăng ký hoặc khi đăng nhập lần tiếp theo.
Nếu ai đó mất thiết bị của họ: amctl user resetmfa <user>, hoặc đặt lại từ trang của họ trong Bảng điều khiển Hệ thống › Quản lý người dùng › Người dùng.
Đăng nhập đơn
Antimatter có thể cho phép người dùng đăng nhập thông qua nhà cung cấp danh tính của bạn. Khi đăng nhập lần đầu, nó sẽ tạo tài khoản của họ (nếu cho phép tạo tài khoản) từ tên, email và tên người dùng do nhà cung cấp gửi.
OpenID Connect, GitLab, Google và Entra ID
Đi đến Bảng điều khiển Hệ thống › Xác thực › Kết nối OpenID, và chọn dưới Chọn nhà cung cấp dịch vụ: GitLab, Google Apps, Entra ID (Office 365) hoặc OpenID Connect (Other) cho bất kỳ nhà cung cấp nào khác (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- Trong nhà cung cấp của bạn, tạo một ứng dụng (một "client") có loại web, với URI chuyển hướng này, cho URL trang web của bạn:
Nhà cung cấp URI chuyển hướng OpenID Connect (Khác) 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 - Trong Antimatter, điền Điểm cuối Khám phá (URL
/.well-known/openid-configurationcủa nhà cung cấp; đối với GitLab, điền URL trang web GitLab thay vào đó), ID máy khách và Bí mật máy khách. Đối với các nhà cung cấp khác, cũng cần điền Tên Nút và Màu nút của nút đăng nhập. - Sử dụng tên người dùng ưu tiên (GitLab và các nhà cung cấp khác) lấy tên người dùng Antimatter từ claim
preferred_usernamecủa nhà cung cấp. - Lưu, đăng xuất và thử nút mới trên trang đăng nhập.
Các cài đặt được lưu trong OpenIdSettings, GitLabSettings, GoogleSettings hoặc Office365Settings (ví dụ AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Trang OAuth 2.0 cũ chỉ hiển thị cho các máy chủ vẫn còn cấu hình OAuth 2.0 cho GitLab, Google hoặc Entra ID.
SAML 2.0
Trong Bảng điều khiển Hệ thống › Xác thực › SAML 2.0, bật Bật Đăng nhập bằng SAML 2.0 (SamlSettings.Enable) và điền thông tin do nhà cung cấp danh tính của bạn cung cấp: URL siêu dữ liệu của nhà cung cấp danh tính, hoặc SAML SSO URL, URL của nhà cung cấp dịch vụ nhận dạng và Chứng chỉ công cộng của nhà cung cấp danh tính. Ở phía nhà cung cấp danh tính:
- Service Provider Login URL (assertion consumer service):
https://chat.example.com/login/sso/saml; - Dữ liệu mô tả (metadata) của Antimatter, dành cho các nhà cung cấp có chức năng nhập:
https://chat.example.com/api/v4/saml/metadata.
Ánh xạ các thuộc tính mà nhà cung cấp của bạn gửi đi: ít nhất là Thuộc tính Email và Thuộc tính tên người dùng, và tùy chọn các thuộc tính ID, tên, họ, biệt danh, chức vụ, ngôn ngữ, khách và quản trị viên. Xác minh Chữ ký và Bật mã hóa được bật theo mặc định (mã hóa cần khóa và chứng chỉ của nhà cung cấp dịch vụ; chỉ hỗ trợ khóa RSA); Đăng Yêu cầu được tắt. Thuật toán chữ ký mặc định là RSAwithSHA256.
AD/LDAP
Trong Bảng điều khiển Hệ thống › Xác thực › AD / LDAP, một trang hướng dẫn từng bước kết nối Antimatter với Active Directory hoặc một máy chủ LDAP khác: máy chủ và cổng (LdapSettings.LdapServer, LdapSettings.LdapPort, mặc định là 389), bảo mật kết nối (không có, TLS hoặc STARTTLS), DN cơ sở và tài khoản liên kết (BaseDN, BindUsername, BindPassword), bộ lọc cho người dùng, khách, quản trị viên và nhóm, cùng các thuộc tính cho email, tên người dùng, ID, tên và ảnh. Người dùng sau đó sẽ đăng nhập bằng thông tin đăng nhập từ danh mục của họ.
Một tác vụ đồng bộ hóa được chạy mỗi 60 phút (LdapSettings.SyncIntervalMinutes) để cập nhật tên và vô hiệu hóa những người đã bị xóa khỏi danh bạ; chạy ngay bằng amctl ldap sync. Các nhóm LDAP có thể được liên kết với cộng đồng và kênh trong Bảng điều khiển Hệ thống › Quản lý Người dùng › Nhóm. Các tài khoản SAML cũng có thể được đồng bộ hóa với AD/LDAP (Bật Đồng bộ hóa Tài khoản SAML với AD / LDAP).
Chuyển đổi các tài khoản hiện có
Để chuyển các tài khoản email hiện có sang đăng nhập một lần, amctl user migrate-auth email saml users.json (hoặc ldap) sẽ di chuyển chúng hàng loạt. Người dùng cũng có thể tự thay đổi phương thức đăng nhập của mình trong cài đặt bảo mật khi Cho phép chuyển xác thực (ServiceSettings.ExperimentalEnableAuthenticationTransfer, trong Bảng điều khiển Hệ thống › Thử nghiệm › Tính năng) được bật.
Tài khoản khách
Khách là những người từ bên ngoài tổ chức của bạn và chỉ nhìn thấy các kênh mà họ được mời. Bật tính năng này trong Bảng điều khiển Hệ thống › Xác thực › Quyền truy cập của khách (Beta):
| Cài đặt | Khóa | Mặc định |
|---|---|---|
| Bật Quyền truy cập của Khách | GuestAccountsSettings.Enable | Tắt |
| Miền của khách trong danh sách trắng | GuestAccountsSettings.RestrictCreationToDomains | trống: khách có thể sử dụng bất kỳ tên miền email nào |
| Thực thi xác thực nhiều yếu tố | GuestAccountsSettings.EnforceMultifactorAuthentication | tắt; chỉ khả dụng khi xác thực đa yếu tố (MFA) được bật và áp dụng cho tất cả mọi người |
| Ẩn thẻ Khách | GuestAccountsSettings.HideTags | tắt: thẻ "guest" sẽ được hiển thị bên cạnh tên của họ |
Khi tính năng này được bật, quản trị viên cộng đồng sẽ mời khách tham gia các kênh cụ thể. Quản trị viên có thể chuyển một thành viên thành khách bằng lệnh amctl user demote, và chuyển một khách thành thành viên bằng lệnh amctl user promote.
Phiên làm việc
Thời gian người dùng duy trì phiên đăng nhập được thiết lập trong Bảng điều khiển Hệ thống › Môi trường › Độ dài phiên:
| Cài đặt | Khóa | Mặc định trên một máy chủ mới |
|---|---|---|
| Kéo dài thời lượng phiên với hoạt động | ServiceSettings.ExtendSessionLengthWithActivity | bật: phiên làm việc sẽ được gia hạn trong khi người dùng đang sử dụng Antimatter |
| Thời lượng phiên AD/LDAP và Email (giờ) | ServiceSettings.SessionLengthWebInHours | 720 giờ (30 ngày) |
| Thời lượng phiên Di động (giờ) | ServiceSettings.SessionLengthMobileInHours | 720 giờ |
| Thời lượng phiên SSO (giờ) | ServiceSettings.SessionLengthSSOInHours | 720 giờ |
| Thời gian chờ của phiên không hoạt động (phút) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 phút (30 ngày); chỉ hiển thị khi phiên làm việc không được gia hạn theo hoạt động |
| Kết thúc phiên khi thay đổi mật khẩu | ServiceSettings.TerminateSessionsOnPasswordChange | on |
Để đăng xuất tất cả mọi người cùng lúc, hãy sử dụng Thu hồi tất cả các phiên trong Bảng điều khiển Hệ thống › Quản lý Người dùng › Người dùng. Để đăng xuất một người, hãy mở trang của người đó tại đó.