POST
https://api.myidvirtual.com
/
auth
/
signin
/
passid
Login com PassID
curl --request POST \
  --url https://api.myidvirtual.com/auth/signin/passid \
  --header 'Content-Type: application/json' \
  --data '
{
  "username": "<string>",
  "password_passId": "<string>"
}
'
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userReturn": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "email": "[email protected]",
    "name": "Maria Santos",
    "role": "CUSTOMER",
    "isAppManager": false,
    "cellphone": "+5511988888888",
    "credits": 250,
    "status": true,
    "createdAt": "2024-01-15T10:30:00.000Z"
  }
}

Login com PassID

Endpoint especializado para autenticação utilizando o sistema PassID, uma alternativa segura ao login tradicional com senha.

Parâmetros

Request Body

username
string
required
Username alternativo - (ID)
password_passId
string
required
Token ou credencial PassID específica do usuário - (PIN)

Responses

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userReturn": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "email": "[email protected]",
    "name": "Maria Santos",
    "role": "CUSTOMER",
    "isAppManager": false,
    "cellphone": "+5511988888888",
    "credits": 250,
    "status": true,
    "createdAt": "2024-01-15T10:30:00.000Z"
  }
}

Exemplo de Requisição

curl --location --request POST 'http://localhost:3333/auth/signin/passid' \
--header 'Content-Type: application/json' \
--data-raw '{
  "username": "[email protected]",
  "password_passId": "passid_abc123xyz789"
}'

Sobre o PassID

O que é PassID?

PassID é um sistema de autenticação alternativo que oferece:
  • Maior Segurança: Tokens únicos por sessão
  • Facilidade de Uso: Não requer memorização de senhas complexas
  • Integração Mobile: Suporte nativo em aplicativos
  • Gestão Centralizada: Controle administrativo de credenciais

Como Funciona

  1. Configuração: Admin configura PassID para o usuário
  2. Geração: Sistema gera token PassID único
  3. Distribuição: Token é enviado por email ou app
  4. Autenticação: Cliente usa token para login
  5. Renovação: Tokens podem ser renovados automaticamente

Diferenças do Login Padrão

CaracterísticaLogin PadrãoLogin PassID
AutenticaçãoEmail + SenhaEmail + Token PassID
SegurançaSenha estáticaToken dinâmico
ConfiguraçãoUsuário defineAdmin configura
RecuperaçãoReset de senhaRegeneração de token
ValidadeSenha permanenteToken com expiração

Fallback para Senha Tradicional

Se configurado, o sistema pode aceitar tanto PassID quanto senha:
{
  "email": "[email protected]",
  "password_passId": "passid_abc123xyz789",
  "password": "senha_fallback"
}

Implementação no Frontend

React/JavaScript

class AuthService {
  async loginWithPassID(email, passId) {
    try {
      const response = await fetch('/auth/signin/passid', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
          username,
          password_passId: passId
        })
      });

      if (response.ok) {
        const { access_token } = await response.json();
        this.setToken(access_token);
        return true;
      }

      throw new Error('PassID inválido');
    } catch (error) {
      console.error('Erro no login PassID:', error);
      return false;
    }
  }

  setToken(token) {
    localStorage.setItem('access_token', token);
    // Configure axios defaults ou interceptors
  }
}

Códigos de Erro Específicos

CódigoDescriçãoSolução
400PassID não configuradoConfigure PassID para o usuário
422PassID inválido/expiradoGere novo PassID
404Usuário não encontradoVerifique o email
Tokens PassID têm validade limitada. Implemente renovação automática ou notifique usuários sobre expiração.
Para melhor experiência do usuário, implemente fallback automático para login padrão se PassID falhar.

Próximos Passos

  1. Configure notificações de expiração de PassID
  2. Implemente renovação automática de tokens
  3. Configure logs de auditoria para login PassID
  4. Teste fallback para senha tradicional
PassID é especialmente útil para ambientes corporativos ou aplicações que requerem maior controle de acesso.