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ção | Chave | Padrão | O que faz |
|---|---|---|---|
| Ativar criação de conta | TeamSettings.EnableUserCreation | ligado | Desativado, ninguém pode criar uma conta por nenhum método; apenas administradores podem (Console do Sistema ou amctl user create). |
| Ativar servidor aberto | TeamSettings.EnableOpenServer | desativado | Ativado, 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 especificados | TeamSettings.RestrictCreationToDomains | vazio | Domí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-mail | ServiceSettings.EnableEmailInvitations | desativado em um novo servidor | Permite 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ção | Chave | Padrão |
|---|---|---|
| Ativar criação de contas com e-mail | EmailSettings.EnableSignUpWithEmail | ativado. Desative quando todos fizerem login por meio de single sign-on. |
| Requer Verificação de E-mail | EmailSettings.RequireEmailVerification | desativado. Ative quando o e-mail estiver funcionando: as pessoas então confirmam seu endereço antes de poderem fazer login. |
| Ativar login por e-mail | EmailSettings.EnableSignInWithEmail | ligado |
| Ativar login com nome de usuário | EmailSettings.EnableSignInWithUsername | ligado |
Em Console do Sistema › Autenticação › Senha:
| Configuração | Chave | Padrão |
|---|---|---|
| Tamanho Mínimo de Senha | PasswordSettings.MinimumLength | 8 (de 5 a 72) |
| Requerimentos de Senha: minúsculas, maiúsculas, número, símbolo | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | tudo desativado |
| Máxima Tentativas de Login | ServiceSettings.MaximumLoginAttempts | 10: após esse número de falhas, a conta é bloqueada até que a senha seja redefinida por e-mail |
| Ativar o link Esqueci a Senha | PasswordSettings.EnableForgotLink | ligado |
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…).
- No seu provedor, crie um aplicativo (um "cliente") do tipo web, com esta URI de redirecionamento, para a URL do seu site:
Provedor 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 Endpoint de Descoberta (a URL
/.well-known/openid-configurationdo 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. - Usar Nome de Usuário Preferido (GitLab e outros provedores) obtém o nome de usuário do Antimatter da reivindicação
preferred_usernamedo provedor. - 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ção | Chave | Padrão |
|---|---|---|
| Ativar Acesso Convidado | GuestAccountsSettings.Enable | desativado |
| Lista Permitida Domínios Convidados | GuestAccountsSettings.RestrictCreationToDomains | vazio: os convidados podem ter qualquer domínio de e-mail |
| Impor Autenticação Multi-Fator | GuestAccountsSettings.EnforceMultifactorAuthentication | desativado; disponível apenas quando a MFA estiver ativada e exigida para todos |
| Ocultar tag de convidado | GuestAccountsSettings.HideTags | desativado: 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ção | Chave | Padrão em um novo servidor |
|---|---|---|
| Estender tamanho 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 E-mail (horas) | ServiceSettings.SessionLengthWebInHours | 720 horas (30 dias) |
| Duração da Sessão no Celular (horas) | ServiceSettings.SessionLengthMobileInHours | 720 horas |
| Duração da Sessão SSO (horas) | ServiceSettings.SessionLengthSSOInHours | 720 horas |
| Limite de Inatividade da Sessão (minutos) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 minutos (30 dias); exibido apenas quando as sessões não são estendidas com atividade |
| Encerrar Sessões ao Alterar a Senha | ServiceSettings.TerminateSessionsOnPasswordChange | ligado |
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á.