APIs

Login

2033 views 26/02/2020 12/08/2020 sergio-souza 3

Login

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/actions/login --header "Content-Type: application/json" --header "Accept: application/json" --data-raw "{ 'username': '{email}', 'password': '{senha}' }"

* Este comando não funciona quando o usuário é configurado pra ADFS (Active Directory Federation Services).

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"
}

Este artigo foi útil para você?