Skip to main content

Login

Tela onde a pessoa entra no Portal 2.0 com e-mail e senha. É a porta de entrada de todo o sistema: sem passar por aqui (ou pelo login por QR-code), ninguém acessa o restante do Portal.

Tela de login com os campos E-mail e Senha, o botão Entrar e o botão Entrar com QRCode

Antes de começar​

  • Rota: /:tenant/authorization/sign-in (neste ambiente, :tenant é default).
  • Componente: LoginComponent (@pages/authentication/login).
  • A pessoa precisa ter uma conta já cadastrada no Portal. Não há autocadastro nesta tela.
  • Se a conta tiver TOTP ou SafeID habilitado, o login não termina aqui — ele continua na tela de MFA.

Permissões e acesso​

Pública — qualquer pessoa não autenticada pode acessar. A rota fica dentro do grupo :tenant/authorization, protegido por guestGuard: quem já tem uma sessão válida é redirecionado para longe desta tela (não é possível ver a tela de login estando logado).

Caminho principal​

  1. A pessoa digita o e-mail e a senha e clica em Entrar.
  2. Se as credenciais estiverem corretas e a conta não tiver segundo fator, o Portal cria a sessão e leva a pessoa para a área logada (/exams, ou a URL que ela tentou acessar antes de cair no login).
  3. Se a conta tiver TOTP habilitado, o Portal manda para a tela de MFA em vez de autenticar direto (confirmado navegando: entrar com uma conta com TOTP leva a /default/authorization/mfa).
  4. Se a conta tiver SafeID habilitado (e não TOTP), o Portal redireciona para a URL de autorização do provedor externo SafeID.
  5. Também é possível ir para Esqueci minha senha (leva a Recuperar senha) ou Entrar com QRCode (leva a Login por QR-code).

Estados e mensagens​

EstadoQuando apareceMensagem exibidaPrint
Campos vaziosClica em Entrar sem preencher"E-mail é obrigatório." / "A senha é obrigatória." (abaixo de cada campo)Campos de e-mail e senha vazios com as mensagens de obrigatoriedade abaixo de cada um
E-mail/senha incorretosCredenciais não conferemToast: "E-mail e/ou senha incorretos."Toast de erro E-mail e/ou senha incorretos sobre o formulário de login
Conta bloqueadaBackend recusa por bloqueio (progressivo, ver Regras)Toast: "Conta bloqueada temporariamente por muitas tentativas. Tente novamente mais tarde."Toast de erro informando que a conta foi bloqueada temporariamente por muitas tentativas

O toast de conta bloqueada foi obtido de verdade: a conta de teste e2e.locked@mobilemed.test errou a senha 3 vezes seguidas neste levantamento, o que a bloqueou temporariamente por 10 minutos (ver regra de bloqueio progressivo abaixo) — a mensagem acima é exatamente a que a API devolveu.

Validações de frontend​

CampoRegraMensagem
E-mailObrigatório, formato de e-mail (Validators.email)"E-mail é obrigatório." / mensagem de e-mail inválido
SenhaObrigatória, 8 a 128 caracteres"A senha é obrigatória." / mensagens de tamanho mínimo/máximo

Essas validações rodam no navegador antes de qualquer chamada à API; elas não substituem a validação do backend (ver Login — API).

Validações e falhas de backend​

SituaçãoOnde é validadaComportamentoComo se recupera
Origem não permitidaIdentityOriginGuard, no backend403 IDENTITY_AUTH_ORIGIN_FORBIDDENNão depende da pessoa usuária; é configuração de ambiente
Muitas tentativas em pouco tempoRate limit (7 requisições/60s por IP e por e-mail)429 RATE_LIMIT_EXCEEDEDAguardar e tentar de novo
E-mail ou senha erradosServiço de autenticação401 IDENTITY_INVALID_CREDENTIALS, toast "E-mail e/ou senha incorretos."Conferir e-mail/senha; usar "Esqueci minha senha" se necessário
Conta bloqueada (temporária ou permanente)Serviço de autenticação, checado antes da senha423, toast de conta bloqueadaAguardar o tempo de bloqueio (temporário) ou contatar o suporte (permanente)
Erro de redeRequisição HTTP falhaToast "LOGIN.ERRORS.NETWORK"Verificar conexão e tentar novamente

Regras de negócio​

IDRegraO que a tela reflete
RN-01Bloqueio de conta é progressivo1ª/2ª falha: sem bloqueio · 3ª: bloqueio temporário de 10 min · 4ª: 15 min · 5ª ou mais: bloqueio permanente (ver Login — API)
RN-02TOTP tem prioridade sobre SafeIDSe a conta tiver os dois habilitados, a tela de MFA que aparece é a de TOTP
RN-03E-mail não distingue "não existe" de "senha errada"A mensagem de erro é a mesma nos dois casos (anti-enumeração)

Informações técnicas​

Rota da tela: /:tenant/authorization/sign-in · Acesso: Público (guestGuard)

Rotas de API consumidas:

MétodoRotaQuando é chamada
POST/v1/authentication/loginAo clicar em Entrar

→ Detalhe da rota: Login (e-mail e senha) — API

Relacionado​