# Authentication

A autenticação é parte essencial para garantir a **segurança** das ações realizadas no sistema.&#x20;

{% hint style="info" %}
É possível **armazenar e reutilizar** o token
{% endhint %}

## signIn

<mark style="color:green;">`POST`</mark> `/cognito/user/signIn`

**API utilizada para gerar um token** para então consumir as API's que necessitam da autenticação.&#x20;

#### Request Body

| Name     | Type   | Description             |
| -------- | ------ | ----------------------- |
| email    | string | email para autenticação |
| password | string | senha para autenticação |

{% tabs %}
{% tab title="200 Autenticação realizada. Token pode ser utilizado nas próximas chamadas.

Atributos:
token: bearer token,
expiration: new Date(value \* 1000) | duração 60 minutos" %}

```
{
    "token": <token> : String,
    "expiration": <expiration> : number
}
```

{% endtab %}

{% tab title="400 O parâmetro enviado é inválido " %}

```
{
    "error": "BadRequest: Invalid parameters provided: email"
}
```

{% endtab %}

{% tab title="404 Usuário não cadastrado" %}

```
{
    "message": "User does not exist."
}
```

{% endtab %}
{% endtabs %}
