O login pode ser realizado informando usuário e senha, ou o código de autorização obtido de um provedor externo (SAML, por exemplo). Se o usuário estiver configurado para usar autenticação multifator, será retornado, dentro do objeto 'mfaInfo', um token temporário que deverá ser utilizado no loginMFA para efetivamente realizar o login.

Payload de entrada
{
    //Nome do usuário incluindo o domínio. Exemplo: ana.silva@senior.com.br. Este campo deve ser informado se o login for baseado em um usuário e senha.
    "username": "string"
    //Senha do usuário. Este campo deve ser informado se o login for baseado em um usuário e senha.
    "password": "string"
    //Código de autorização do provedor externo de autenticação. Provedores suportados: SAML. Este campo deve ser informado se o login for baseado em um código de autorização.
    "code": "string"
    //Escopo do token da autenticação. Opcional, se não for informado será usado o valor padrão 'desktop
    "scope": "string"
}
Request
$ curl --location --request POST https://api.senior.com.br/platform/authentication/login --header "Content-Type: application/json" --header "client_id: {client_id}" --header "Accept: application/json" --data-raw "{ 'username': '{email}', 'password': '{senha}' }"
Response
  • 200 Ok

{
    //String contendo um json com os tokens de acesso, de refresh, o tempo de validade restante para o token de acesso e o nome do usuário. Se o usuário/tenant estiver configurado para 
    //usar autenticação multifator, esse token não será retornado. Ao invés disso, será retornado um token temporário, dentro do 'mfaInfo', que deverá ser enviado na primitiva loginMFA.
    jsonToken: string,
    //Informações para realizar o próximo passo da autenticação quando o usuário utiliza autenticação multifator.
    mfaInfo: {
        //Token temporário gerado quando o usuário possui autenticação multifator habilitada.
        temporaryToken: string,
        //Status da configuração da autenticação multifator por parte do usuário. Se for UNCONFIGURED ou RESETTED, deverá ser chamado a primitiva que envia um e-mail com as 
        //instruções para a configuração do MFA.
        mfaStatus: string,
        "Nome do tenant"
        tenant: string
    },
    //Informações para realizar o próximo passo da autenticação quando o usuário está sinalizado para alterar a senha após se autenticar.
    resetPasswordInfo: {
        //Token temporário gerado quando o usuário precisa alterar a senha
        temporaryToken: string,
        //Nome do tenant
        tenant: string
    }
}

O jsonToken contém uma string JSON, e nela está o access_token a ser utilizado nas requisições que exijam autenticação.

Caso o campo resetPasswordInfo vier preenchido, é necessário que o usuário efetue a troca da senha pois ele está realizando seu primeiro login na plataforma.

  • 400 Requisição Inválida

{
    "message": "Request invalid format",
    "errorCode": "loginResponse",
    "reason": "BAD_REQUEST",
    "domain": "platform",
    "service": "authentication"
}
  • 401 Não Autorizado

{
    "message": "Usuário e/ou senha inválido.",
    "errorCode": "loginResponse",
    "reason": "UNAUTHORIZED",
    "domain": "platform",
    "service": "authentication"
}