Início de sessão e contas
Decida quem pode criar uma conta e como as pessoas iniciam sessão. Todos os métodos de início de sessão do Antimatter funcionam sem licença, incluindo autenticação única e diretórios.
Quem pode criar uma conta
Logo após a instalação, verifique Consola do sistema › Autenticação › Registo. Com as definições predefinidas, qualquer pessoa com um link de convite para uma comunidade pode criar uma conta, mas ninguém pode registar-se sem um.
| Definição | Chave | Padrão | O que faz |
|---|---|---|---|
| Ativar criação de contas | TeamSettings.EnableUserCreation | ligado | Desativado, ninguém pode criar uma conta por qualquer método; apenas administradores podem (Consola do sistema ou amctl user create). |
| Ativar servidor aberto | TeamSettings.EnableOpenServer | desativado | Ativado, qualquer pessoa que aceda ao servidor pode registar-se com um endereço de e-mail, sem convite. Utilize apenas para comunidades públicas. |
| Restringir novos membros do sistema e da equipa a domínios de e-mail especificados | TeamSettings.RestrictCreationToDomains | vazio | Domínios separados por vírgulas, por exemplo example.com, example.org: apenas endereços destes domínios podem criar uma conta. |
| Ativar convites por e-mail | ServiceSettings.EnableEmailInvitations | desativado num servidor novo | Permite aos membros convidar pessoas por email (requer SMTP). Invalidar convites por e-mail pendentes cancela os convites que ainda não foram aceites; expiram de qualquer forma após 48 horas. |
Os administradores da comunidade também controlam quem se junta à sua comunidade, com links de convite e os respetivos domínios permitidos: consulte o guia Gerir uma comunidade.
A partir da linha de comandos: amctl user create (adicione --system-admin ou --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> para tornar alguém administrador do sistema, e amctl roles member <user> para desfazer.
E-mail e palavra-passe
Em Consola do sistema › Autenticação › Email:
| Definição | Chave | Padrão |
|---|---|---|
| Ativar criação de contas com email | EmailSettings.EnableSignUpWithEmail | ativado. Desative quando todos iniciarem sessão através de autenticação única. |
| Exigir verificação de e-mail | EmailSettings.RequireEmailVerification | desativado. Ative quando o e-mail estiver a funcionar: as pessoas confirmam então o seu endereço antes de poderem iniciar sessão. |
| Ativar início de sessão com email | EmailSettings.EnableSignInWithEmail | ligado |
| Ativar início de sessão com nome de utilizador | EmailSettings.EnableSignInWithUsername | ligado |
Em Consola do sistema › Autenticação › Palavra-passe:
| Definição | Chave | Padrão |
|---|---|---|
| Comprimento mínimo da palavra-passe | PasswordSettings.MinimumLength | 8 (5 a 72) |
| Requisitos da palavra-passe: minúsculas, maiúsculas, número, símbolo | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | todos desativados |
| Número máximo de tentativas de início de sessão | ServiceSettings.MaximumLoginAttempts | 10: após esse número de falhas, a conta fica bloqueada até a palavra-passe ser redefinida por e-mail |
| Ativar link de palavra-passe esquecida | PasswordSettings.EnableForgotLink | ligado |
Um comprimento de 12 ou mais contribui mais para a segurança do que as regras de caracteres. Para redefinir a palavra-passe de alguém: Consola do sistema › Gestão de utilizadores › Utilizadores, ou amctl user change-password <user> --password <new>.
Autenticação multifator
A autenticação multifator (MFA) acrescenta um código de uma aplicação de autenticação à palavra-passe. Aplica-se a contas que iniciam sessão com e-mail ou AD/LDAP; com autenticação única, utilize a MFA do seu prestador de identidade. Em Consola do sistema › Autenticação › MFA:
- Ativar autenticação multifator (
ServiceSettings.EnableMultifactorAuthentication, desativado): as pessoas podem ativar a MFA nas suas definições de segurança. - Aplicar autenticação multifator (
ServiceSettings.EnforceMultifactorAuthentication, desativado): todos devem configurá-la, no registo ou no próximo início de sessão.
Se alguém perder o seu dispositivo: amctl user resetmfa <user>, ou redefina-a a partir da respetiva página em Consola do sistema › Gestão de utilizadores › Utilizadores.
Autenticação única
O Antimatter pode iniciar a sessão das pessoas através do seu prestador de identidade. No primeiro início de sessão, cria a respetiva conta (se a criação de contas for permitida) a partir do nome, e-mail e nome de utilizador enviados pelo prestador.
OpenID Connect, GitLab, Google e Entra ID
Vá a Consola do sistema › Autenticação › OpenID Connect e escolha, em Selecionar prestador de serviços: GitLab, Google Apps, Entra ID (Office 365) ou OpenID Connect (Outros) para qualquer outro prestador (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- No seu prestador, crie uma aplicação (um "cliente") do tipo web, com este URI de redirecionamento, para o URL do seu site:
Prestador URI de redirecionamento OpenID Connect (Outros) 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 - No Antimatter, preencha o Ponto de entrada de descoberta (a URL
/.well-known/openid-configurationdo provedor; no caso do GitLab, a URL do site do GitLab), o ID do cliente e o Segredo do cliente. Para outros provedores, preencha também o Nome do botão e a Cor do botão do botão de início de sessão. - Utilizar nome de utilizador preferido (GitLab e outros prestadores) obtém o nome de utilizador do Antimatter a partir da reivindicação
preferred_usernamedo prestador. - Guarde, saia da sessão e experimente o novo botão na página de início de sessão.
As definições são guardadas em OpenIdSettings, GitLabSettings, GoogleSettings ou Office365Settings (por exemplo, AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). A página anterior do OAuth 2.0 só aparece nos servidores que ainda têm uma configuração OAuth 2.0 do GitLab, Google ou Entra ID.
SAML 2.0
Em Consola do sistema › Autenticação › SAML 2.0, ative Ativar Início de Sessão com SAML 2.0 (SamlSettings.Enable) e preencha as informações fornecidas pelo seu provedor de identidade: a URL de metadados do Provedor de Identidade, ou a URL SSO SAML, a URL do emissor do Provedor de Identidade e o Certificado público do Provedor de Identidade. No lado do provedor de identidade:
- URL de login do provedor de serviços (serviço de consumidor de asserções):
https://chat.example.com/login/sso/saml; - Metadados do Antimatter, para provedores que os importam:
https://chat.example.com/api/v4/saml/metadata.
Mapeie os atributos enviados pelo seu provedor: pelo menos o Atributo de E-mail e o Atributo de nome de utilizador, e, opcionalmente, os atributos de ID, nome, apelido, nome de utilizador, cargo, idioma, convidado e administrador. Verificar assinatura e Ativar Cifragem estão ativados por omissão (a cifragem requer uma chave e um certificado do provedor de serviços; são suportadas apenas chaves RSA); Assinar pedido está desativado. O algoritmo de assinatura é, por omissão, RSAwithSHA256.
AD/LDAP
Em Consola do sistema › Autenticação › AD/LDAP, uma página passo a passo liga o Antimatter ao Active Directory ou a outro servidor LDAP: o servidor e a porta (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 por predefinição), a segurança da ligação (nenhuma, TLS ou STARTTLS), o DN base e uma conta de ligação (BaseDN, BindUsername, BindPassword), filtros para utilizadores, convidados, administradores e grupos, e os atributos para email, nome de utilizador, ID, nomes e imagem. As pessoas iniciam sessão com o seu login de diretório.
Uma tarefa de sincronização é executada a cada 60 minutos (LdapSettings.SyncIntervalMinutes) para atualizar os nomes e desativar as pessoas removidas do diretório; execute-a agora com amctl ldap sync. Os grupos LDAP podem ser ligados a comunidades e canais em Consola do sistema › Gestão de utilizadores › Grupos. As contas SAML também podem ser mantidas em sincronização com o AD/LDAP (Ativar sincronização de contas SAML com AD/LDAP).
Transferência de contas existentes
Para mudar contas de e-mail existentes para autenticação única, amctl user migrate-auth email saml users.json (ou ldap) transfere-as em lote. Um utilizador também pode alterar o seu próprio método de início de sessão nas definições de segurança quando Permitir Transferência de Autenticação (ServiceSettings.ExperimentalEnableAuthenticationTransfer, em Consola do sistema › Experimental › Funcionalidades) está ativado.
Contas de convidado
Os convidados são pessoas de fora da sua organização que só veem os canais para os quais são convidados. Ative-os em Consola do sistema › Autenticação › Acesso de Convidados:
| Definição | Chave | Padrão |
|---|---|---|
| Ativar Acesso de Convidados | GuestAccountsSettings.Enable | desativado |
| Domínios de Convidado Permitidos | GuestAccountsSettings.RestrictCreationToDomains | vazio: os convidados podem ter qualquer domínio de e-mail |
| Aplicar Autenticação Multifator | GuestAccountsSettings.EnforceMultifactorAuthentication | desativado; apenas disponível quando a MFA está ativada e aplicada a todos |
| Ocultar etiqueta de convidado | GuestAccountsSettings.HideTags | desativado: uma etiqueta "convidado" é mostrada junto ao seu nome |
Uma vez ativado, os administradores da comunidade convidam convidados para canais específicos. Os administradores podem transformar um membro em convidado com amctl user demote, e um convidado em membro com amctl user promote.
Sessões
A duração do período de sessão é definida em Consola do sistema › Ambiente › Duração das sessões:
| Definição | Chave | Padrão num novo servidor |
|---|---|---|
| Prolongar o período de sessão com atividade | ServiceSettings.ExtendSessionLengthWithActivity | ativado: as sessões são renovadas enquanto as pessoas usam o Antimatter |
| Duração da sessão AD/LDAP e Email (horas) | ServiceSettings.SessionLengthWebInHours | 720 horas (30 dias) |
| Duração da Sessão Móvel (horas) | ServiceSettings.SessionLengthMobileInHours | 720 horas |
| Duração da Sessão SSO (horas) | ServiceSettings.SessionLengthSSOInHours | 720 horas |
| Tempo limite de inatividade da sessão (minutos) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 minutos (30 dias); mostrado apenas quando as sessões não são estendidas com atividade |
| Terminar sessões ao alterar a palavra-passe | ServiceSettings.TerminateSessionsOnPasswordChange | ligado |
Para terminar a sessão de todos de uma vez, use Revogar Todas as Sessões em Consola do sistema › Gestão de Utilizadores › Utilizadores. Para terminar a sessão de uma pessoa, abra a sua página aí.