Đă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 đặtKhóaMặc địnhChức năng
Bật tạo tài khoảnTeamSettings.EnableUserCreationonTắ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.EnableOpenServerTắtBậ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ỉ địnhTeamSettings.RestrictCreationToDomainstrốngCá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 emailServiceSettings.EnableEmailInvitationstắt trên máy chủ mớiCho 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 đặtKhóaMặc định
Cho phép tạo tài khoản bằng emailEmailSettings.EnableSignUpWithEmailbậ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 emailEmailSettings.RequireEmailVerificationtắ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 emailEmailSettings.EnableSignInWithEmailon
Cho phép đăng nhập bằng tên người dùngEmailSettings.EnableSignInWithUsernameon

Trong Bảng điều khiển Hệ thống › Xác thực › Mật khẩu:

Cài đặtKhóaMặc định
Độ dài mật khẩu tối thiểuPasswordSettings.MinimumLength8 (từ 5 đến 72)
Yêu cầu mật khẩu: chữ thường, chữ hoa, số, ký tự đặc biệtPasswordSettings.Lowercase, .Uppercase, .Number, .Symboltất cả tắt
Số lần đăng nhập tối đaServiceSettings.MaximumLoginAttempts10: 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ẩuPasswordSettings.EnableForgotLinkon

Độ 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…).

  1. 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ấpURI chuyển hướng
    OpenID Connect (Khác)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. Trong Antimatter, điền Điểm cuối Khám phá (URL /.well-known/openid-configuration củ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.
  3. 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_username của nhà cung cấp.
  4. 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 đặtKhóaMặc định
Bật Quyền truy cập của KháchGuestAccountsSettings.EnableTắt
Miền của khách trong danh sách trắngGuestAccountsSettings.RestrictCreationToDomainstrố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.EnforceMultifactorAuthenticationtắ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áchGuestAccountsSettings.HideTagstắ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 đặtKhóaMặ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 độngServiceSettings.ExtendSessionLengthWithActivitybậ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.SessionLengthWebInHours720 giờ (30 ngày)
Thời lượng phiên Di động (giờ)ServiceSettings.SessionLengthMobileInHours720 giờ
Thời lượng phiên SSO (giờ)ServiceSettings.SessionLengthSSOInHours720 giờ
Thời gian chờ của phiên không hoạt động (phút)ServiceSettings.SessionIdleTimeoutInMinutes43200 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ẩuServiceSettings.TerminateSessionsOnPasswordChangeon

Để đă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 đó.