# Como configurar o User Session Timeout

import DocButton from '~/components/webkit/DocButton.vue';
import Tag from '~/components/webkit/Tag.vue';

<Tag severity="info">Preview</Tag>

A política de **User Session Timeout** permite que você defina um **tempo máximo de inatividade** (*maximum idle time*), garantindo que as sessões sejam automaticamente encerradas após um período de inatividade. Ele também permite que você defina um **tempo máximo de sessão** (*maximum session time*) para evitar que as sessões permaneçam abertas indefinidamente.

Este guia lhe orienta na configuração da política de User Session Timeout.

:::note
Quando uma organização configura o User Session Timeout, a política se aplica a todos os níveis de conta.

Esta política está disponível para clientes de todos os [Serviços de Suporte da Azion](https://www.azion.com/pt-br/servicos-profissionais/).
:::

<DocButton href="/pt-br/documentacao/produtos/gestao-de-contas/user-session-timeout/" label="Saiba mais sobre o User Session Timeout" kind="secondary" target="_blank" size="medium" />

--- 

## Configure um tempo limite de sessão do Usuário

:::note
Para configurar o User Session Timeout, você deve ter privilégios de *Account Owner*.

Se você não for um *Account Owner*, o sistema retornará um *Erro 403*.
:::

1. Execute a seguinte requisição `GET` no seu terminal para obter os valores atuais do User Session Timeout na sua conta.

```bash
curl --request GET \
  --url https://api.azion.com/v4/auth/policies/session \
  --header 'Accept: application/json' \
  --header 'Authorization: 123'
```

2. Você receberá uma resposta semelhante a esta:

```bash
{
  "data": {
    "max_idle_time": 1,
    "max_session_time": 5
  }
```

Isso significa que a política está configurada com *1 minuto para o tempo máximo de inatividade e 5 minutos para o tempo máximo de sessão*.

3. Execute a seguinte requisição `PUT` no seu terminal para atualizar os valores do User Session Timeout na sua conta.

```bash
curl --request PUT \
  --url https://api.azion.com/v4/auth/policies/session \
  --header 'Accept: application/json' \
  --header 'Authorization: 123' \
  --header 'Content-Type: application/json' \
  --data '{
  "max_idle_time": 1,
  "max_session_time": 5
}'
```

Onde: 

| Chave | Tipo | Descrição |
| ----------- | ----------- | ----------- |
| `max_idle_time` | Inteiro | Define o período de inatividade após o qual uma sessão é automaticamente encerrada. O valor deve estar em *minutos*. Valor padrão e tempo máximo de inatividade permitido: `1440`, equivalente a *1 dia* |
| `max_session_time` | Inteiro | Define o tempo total que uma sessão pode permanecer ativa, independentemente da atividade, garantindo que as sessões não permaneçam abertas indefinidamente. O valor deve estar em *minutos*, entre `5` minutos e `21600` minutos, equivalente a *15 dias*. Valor padrão: `21600` |

4. Você receberá uma resposta semelhante a esta:

```bash
{
  "state": "executed",
  "data": {
    "max_idle_time": 1,
    "max_session_time": 5
  }
```

Pronto. O User Session Timeout está agora configurado com os novos valores.

:::tip
Confira a [documentação da API da Azion](https://api.azion.com/) para saber mais sobre todos os recursos disponíveis via API.
:::