Login e contas

Decida quem pode criar uma conta e como as pessoas fazem login. Todos os métodos de login do Antimatter funcionam sem licença, incluindo single sign-on e diretórios.

Quem pode criar uma conta

Logo após a instalação, verifique Console do Sistema › Autenticação › Inscrição. Com os padrões, qualquer pessoa com um link de convite para uma comunidade pode criar uma conta, mas ninguém pode se inscrever sem um.

ConfiguraçãoChavePadrãoO que faz
Ativar criação de contaTeamSettings.EnableUserCreationligadoDesativado, ninguém pode criar uma conta por nenhum método; apenas administradores podem (Console do Sistema ou amctl user create).
Ativar servidor abertoTeamSettings.EnableOpenServerdesativadoAtivado, qualquer pessoa que acessar o servidor pode se inscrever com um endereço de e-mail, sem um convite. Use apenas para comunidades públicas.
Restringir novos membros do sistema e da equipe a domínios de e-mail especificadosTeamSettings.RestrictCreationToDomainsvazioDomínios separados por vírgula, por exemplo example.com, example.org: apenas endereços desses domínios podem criar uma conta.
Habilitar Convites por E-mailServiceSettings.EnableEmailInvitationsdesativado em um novo servidorPermite que os membros convidem pessoas por e-mail (requer SMTP). Invalidar convites por email pendentes cancela os convites que ainda não foram aceitos; eles expiram após 48 horas de qualquer forma.

Os administradores da comunidade também controlam quem entra na sua comunidade, com links de convite e seus próprios domínios permitidos: veja o guia Executando uma comunidade.

Da linha de comando: amctl user create (adicione --system-admin ou --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> para tornar alguém um administrador do sistema, e amctl roles member <user> para desfazer.

E-mail e senha

Em Console do Sistema › Autenticação › E-mail:

ConfiguraçãoChavePadrão
Ativar criação de contas com e-mailEmailSettings.EnableSignUpWithEmailativado. Desative quando todos fizerem login por meio de single sign-on.
Requer Verificação de E-mailEmailSettings.RequireEmailVerificationdesativado. Ative quando o e-mail estiver funcionando: as pessoas então confirmam seu endereço antes de poderem fazer login.
Ativar login por e-mailEmailSettings.EnableSignInWithEmailligado
Ativar login com nome de usuárioEmailSettings.EnableSignInWithUsernameligado

Em Console do Sistema › Autenticação › Senha:

ConfiguraçãoChavePadrão
Tamanho Mínimo de SenhaPasswordSettings.MinimumLength8 (de 5 a 72)
Requerimentos de Senha: minúsculas, maiúsculas, número, símboloPasswordSettings.Lowercase, .Uppercase, .Number, .Symboltudo desativado
Máxima Tentativas de LoginServiceSettings.MaximumLoginAttempts10: após esse número de falhas, a conta é bloqueada até que a senha seja redefinida por e-mail
Ativar o link Esqueci a SenhaPasswordSettings.EnableForgotLinkligado

Um comprimento de 12 ou mais caracteres contribui mais para a segurança do que as regras de caracteres. Para redefinir a senha de alguém: Console do Sistema › Gestão de Usuários › Usuários, ou amctl user change-password <user> --password <new>.

Autenticação multifator

A autenticação multifator (MFA) adiciona um código de um aplicativo de autenticação à senha. Ela se aplica a contas que fazem login com e-mail ou AD/LDAP; com login único, use a MFA do seu provedor de identidade. Em Console do Sistema › Autenticação › MFA:

  • Ativar Autenticação Multi-Fator (ServiceSettings.EnableMultifactorAuthentication, desativado): as pessoas podem ativar a MFA em suas configurações de segurança.
  • Impor Autenticação Multi-Fator (ServiceSettings.EnforceMultifactorAuthentication, desativado): todos devem configurá-la, no momento do cadastro ou no próximo login.

Se alguém perder seu dispositivo: amctl user resetmfa <user>, ou redefina-a a partir da página deles em Console do Sistema › Gestão de Usuários › Usuários.

Login único

O Antimatter pode fazer login das pessoas através do seu provedor de identidade. No primeiro login, ele cria a conta (se a criação de contas for permitida) com o nome, e-mail e nome de usuário enviados pelo provedor.

OpenID Connect, GitLab, Google e Entra ID

Vá para Console do Sistema › Autenticação › OpenID Connect e escolha em Selecione o provedor de serviços: GitLab, Google Apps, Entra ID (Office 365) ou OpenID Connect (Outro) para qualquer outro provedor (Keycloak, Authentik, Zitadel, Okta, Auth0…).

  1. No seu provedor, crie um aplicativo (um "cliente") do tipo web, com esta URI de redirecionamento, para a URL do seu site:
    ProvedorURI 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 Endpoint de Descoberta (a URL /.well-known/openid-configuration do provedor; para o GitLab, use a URL 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 login.
  3. Usar Nome de Usuário Preferido (GitLab e outros provedores) obtém o nome de usuário do Antimatter da reivindicação preferred_username do provedor.
  4. Salve, faça logout e teste o novo botão na página de login.

As configurações são armazenadas em OpenIdSettings, GitLabSettings, GoogleSettings ou Office365Settings (por exemplo, AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). A página antiga do OAuth 2.0 só aparece para servidores que ainda possuem uma configuração de OAuth 2.0 para GitLab, Google ou Entra ID.

SAML 2.0

Em Console do Sistema › Autenticação › SAML 2.0, ative Ativar Login With SAML 2.0 (SamlSettings.Enable) e preencha as informações fornecidas pelo seu provedor de identidade: a URL Do Provedor de Identidade Metadados, ou a SAML SSO URL, a URL Emissor Provedor Identidade e o Provedor de Identidade Certificado Público. No lado do provedor de identidade:

  • Service Provider Login URL (assertion consumer service): 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 do Usuário, e, opcionalmente, os atributos de ID, nome, sobrenome, apelido, cargo, idioma, convidado e administrador. Verificar Assinatura e Ativar Criptografia estão ativados por padrão (a criptografia requer uma chave e um certificado do provedor de serviço; apenas chaves RSA são suportadas); Assinar Requisição está desativado. O algoritmo de assinatura padrão é RSAwithSHA256.

AD/LDAP

Em Console do Sistema › Autenticação › AD/LDAP, uma página passo a passo conecta o Antimatter ao Active Directory ou a outro servidor LDAP: o servidor e a porta (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 por padrão), a segurança da conexão (nenhuma, TLS ou STARTTLS), o DN base e uma conta de vínculo (BaseDN, BindUsername, BindPassword), filtros para usuários, convidados, administradores e grupos, e os atributos para e-mail, nome de usuário, ID, nomes e foto. As pessoas então fazem login com suas credenciais do diretório.

Um trabalho de sincronização é executado a cada 60 minutos (LdapSettings.SyncIntervalMinutes) para atualizar nomes e desativar pessoas removidas do diretório; execute-o agora com amctl ldap sync. Os grupos LDAP podem ser vinculados a comunidades e canais em Console do Sistema › Gestão de Usuários › Grupos. As contas SAML também podem ser mantidas em sincronização com AD/LDAP (Habilitar sincronismo das contas SAML com AD/LDAP).

Mover contas existentes

Para alternar contas de e-mail existentes para o login único, amctl user migrate-auth email saml users.json (ou ldap) as move em lote. Um usuário também pode alterar seu próprio método de login nas configurações de segurança quando Permitir Transferência de Autenticação (ServiceSettings.ExperimentalEnableAuthenticationTransfer, em Console do Sistema › Experimental › Recursos) estiver ativado.

Contas de convidado

Convidados são pessoas de fora da sua organização que veem apenas os canais para os quais foram convidadas. Ative-os em Console do Sistema › Autenticação › Acesso Convidado (Beta):

ConfiguraçãoChavePadrão
Ativar Acesso ConvidadoGuestAccountsSettings.Enabledesativado
Lista Permitida Domínios ConvidadosGuestAccountsSettings.RestrictCreationToDomainsvazio: os convidados podem ter qualquer domínio de e-mail
Impor Autenticação Multi-FatorGuestAccountsSettings.EnforceMultifactorAuthenticationdesativado; disponível apenas quando a MFA estiver ativada e exigida para todos
Ocultar tag de convidadoGuestAccountsSettings.HideTagsdesativado: uma etiqueta "convidado" é exibida ao lado do 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

O tempo que as pessoas permanecem conectadas é definido em Console do Sistema › Ambiente › Durações da Sessão:

ConfiguraçãoChavePadrão em um novo servidor
Estender tamanho 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 E-mail (horas)ServiceSettings.SessionLengthWebInHours720 horas (30 dias)
Duração da Sessão no Celular (horas)ServiceSettings.SessionLengthMobileInHours720 horas
Duração da Sessão SSO (horas)ServiceSettings.SessionLengthSSOInHours720 horas
Limite de Inatividade da Sessão (minutos)ServiceSettings.SessionIdleTimeoutInMinutes43200 minutos (30 dias); exibido apenas quando as sessões não são estendidas com atividade
Encerrar Sessões ao Alterar a SenhaServiceSettings.TerminateSessionsOnPasswordChangeligado

Para desconectar todos de uma vez, use Revogar Todas Sessões em Console do Sistema › Gestão de Usuários › Usuários. Para desconectar uma pessoa, abra a página dela lá.