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çãoChavePadrãoO que faz
Ativar criação de contasTeamSettings.EnableUserCreationligadoDesativado, ninguém pode criar uma conta por qualquer método; apenas administradores podem (Consola do sistema ou amctl user create).
Ativar servidor abertoTeamSettings.EnableOpenServerdesativadoAtivado, 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 especificadosTeamSettings.RestrictCreationToDomainsvazioDomí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-mailServiceSettings.EnableEmailInvitationsdesativado num servidor novoPermite 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çãoChavePadrão
Ativar criação de contas com emailEmailSettings.EnableSignUpWithEmailativado. Desative quando todos iniciarem sessão através de autenticação única.
Exigir verificação de e-mailEmailSettings.RequireEmailVerificationdesativado. 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 emailEmailSettings.EnableSignInWithEmailligado
Ativar início de sessão com nome de utilizadorEmailSettings.EnableSignInWithUsernameligado

Em Consola do sistema › Autenticação › Palavra-passe:

DefiniçãoChavePadrão
Comprimento mínimo da palavra-passePasswordSettings.MinimumLength8 (5 a 72)
Requisitos da palavra-passe: minúsculas, maiúsculas, número, símboloPasswordSettings.Lowercase, .Uppercase, .Number, .Symboltodos desativados
Número máximo de tentativas de início de sessãoServiceSettings.MaximumLoginAttempts10: 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 esquecidaPasswordSettings.EnableForgotLinkligado

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

  1. No seu prestador, crie uma aplicação (um "cliente") do tipo web, com este URI de redirecionamento, para o URL do seu site:
    PrestadorURI de redirecionamento
    OpenID Connect (Outros)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. No Antimatter, preencha o Ponto de entrada de descoberta (a URL /.well-known/openid-configuration do 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.
  3. Utilizar nome de utilizador preferido (GitLab e outros prestadores) obtém o nome de utilizador do Antimatter a partir da reivindicação preferred_username do prestador.
  4. 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çãoChavePadrão
Ativar Acesso de ConvidadosGuestAccountsSettings.Enabledesativado
Domínios de Convidado PermitidosGuestAccountsSettings.RestrictCreationToDomainsvazio: os convidados podem ter qualquer domínio de e-mail
Aplicar Autenticação MultifatorGuestAccountsSettings.EnforceMultifactorAuthenticationdesativado; apenas disponível quando a MFA está ativada e aplicada a todos
Ocultar etiqueta de convidadoGuestAccountsSettings.HideTagsdesativado: 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çãoChavePadrão num novo servidor
Prolongar o período de sessão com atividadeServiceSettings.ExtendSessionLengthWithActivityativado: as sessões são renovadas enquanto as pessoas usam o Antimatter
Duração da sessão AD/LDAP e Email (horas)ServiceSettings.SessionLengthWebInHours720 horas (30 dias)
Duração da Sessão Móvel (horas)ServiceSettings.SessionLengthMobileInHours720 horas
Duração da Sessão SSO (horas)ServiceSettings.SessionLengthSSOInHours720 horas
Tempo limite de inatividade da sessão (minutos)ServiceSettings.SessionIdleTimeoutInMinutes43200 minutos (30 dias); mostrado apenas quando as sessões não são estendidas com atividade
Terminar sessões ao alterar a palavra-passeServiceSettings.TerminateSessionsOnPasswordChangeligado

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í.