<!-- review: finished -->

<a id="http-userid"></a>

# UserID

O módulo define cookies adequados para identificação de clientes. Os cookies recebidos e definidos podem ser registrados usando as variáveis integradas [$uid_got](#v-uid-got) e [$uid_set](#v-uid-set). Este módulo é compatível com o módulo [mod_uid](http://www.lexa.ru/programs/mod-uid.html) para Apache.

<a id="configuration-example-47"></a>

## Exemplo de Configuração

```nginx
userid         on;
userid_name    uid;
userid_domain  example.com;
userid_path    /;
userid_expires 365d;
userid_p3p     'policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"';
```

<a id="directives-50"></a>

## Diretivas

<a id="index-0"></a>

<a id="id1"></a>

### userid

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid` `on` | `v1` | `log` | `off`;   |
|-------------------------------------------------------------------------------------------|-----------------------------------------|
| Padrão                                                                                    | `userid off;`                           |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location                  |

Habilita ou desabilita a definição de cookies e o registro dos cookies recebidos:

| `on`   | habilita a definição de cookies versão 2 e o registro dos cookies recebidos;      |
|--------|-----------------------------------------------------------------------------------|
| `v1`   | habilita a definição de cookies versão 1 e o registro dos cookies recebidos;      |
| `log`  | desabilita a definição de cookies, mas habilita o registro dos cookies recebidos; |
| `off`  | desabilita a definição de cookies e o registro dos cookies recebidos.             |

<a id="index-1"></a>

<a id="userid-domain"></a>

### userid_domain

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_domain` name | `none`;   |
|-------------------------------------------------------------------------------------------|----------------------------------|
| Padrão                                                                                    | `userid_domain none;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location           |

Define um domínio para o qual o cookie é definido. O parâmetro `none` desabilita a definição de um domínio para o cookie.

<a id="index-2"></a>

<a id="userid-expires"></a>

### userid_expires

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_expires` time | `max` | `off`;   |
|-------------------------------------------------------------------------------------------|------------------------------------------|
| Padrão                                                                                    | `userid_expires off;`                    |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location                   |

Define um tempo durante o qual um navegador deve manter o cookie. O parâmetro `max` fará com que o cookie expire em "31 Dec 2037 23:55:55 GMT". O parâmetro `off` fará com que o cookie expire no final de uma sessão do navegador.

<a id="index-3"></a>

<a id="userid-flags"></a>

### userid_flags

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_flags` `off` | flag ...;   |
|-------------------------------------------------------------------------------------------|------------------------------------|
| Padrão                                                                                    | `userid_flags off;`                |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location             |

Se o parâmetro não for `off`, define uma ou mais flags adicionais para
o cookie: `secure`, `httponly`, `samesite=strict`,
`samesite=lax`, `samesite=none`.

<a id="index-4"></a>

<a id="userid-mark"></a>

### userid_mark

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_mark` letter | digit | = | `off`;   |
|-------------------------------------------------------------------------------------------|---------------------------------------------|
| Padrão                                                                                    | `userid_mark off;`                          |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location                      |

Se o parâmetro não for `off`, habilita o mecanismo de marcação de cookies e define o caractere usado como marca. Este mecanismo é usado para adicionar ou alterar [userid_p3p](#userid-p3p) e/ou um tempo de expiração do cookie preservando o identificador do cliente. Uma marca pode ser qualquer letra do alfabeto inglês (sensível a maiúsculas e minúsculas), dígito, ou o caractere "=".

Se a marca for definida, ela é comparada com o primeiro símbolo de preenchimento na representação base64 do identificador do cliente passado em um cookie. Se eles não coincidirem, o cookie é reenviado com a marca especificada, tempo de expiração e cabeçalho `P3P`.

<a id="index-5"></a>

<a id="userid-name"></a>

### userid_name

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_name` name;    |
|-------------------------------------------------------------------------------------------|------------------------|
| Padrão                                                                                    | `userid_name uid;`     |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location |

Define o nome do cookie.

<a id="index-6"></a>

<a id="userid-p3p"></a>

### userid_p3p

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_p3p` string | `none`;   |
|-------------------------------------------------------------------------------------------|---------------------------------|
| Padrão                                                                                    | `userid_p3p none;`              |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location          |

Define um valor para o campo de cabeçalho `P3P` que será enviado junto com o cookie. Se a diretiva for definida com o valor especial `none`, o cabeçalho `P3P` não será enviado em uma resposta.

<a id="index-7"></a>

<a id="userid-path"></a>

### userid_path

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_path` path;    |
|-------------------------------------------------------------------------------------------|------------------------|
| Padrão                                                                                    | `userid_path /;`       |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location |

Define um caminho para o qual o cookie é definido.

<a id="index-8"></a>

<a id="userid-service"></a>

### userid_service

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `userid_service` number;                  |
|-------------------------------------------------------------------------------------------|-------------------------------------------|
| Padrão                                                                                    | `userid_service endereço IP do servidor;` |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | http, server, location                    |

Se os identificadores são emitidos por múltiplos servidores (serviços), cada serviço deve receber seu próprio `number` para garantir que os identificadores de clientes sejam únicos. Para cookies versão 1, o valor padrão é zero. Para cookies versão 2, o valor padrão é o número composto pelos últimos quatro octetos do endereço IP do servidor.

<a id="built-in-variables-16"></a>

## Variáveis Integradas

<a id="v-uid-got"></a>

### `$uid_got`

O nome do cookie e o identificador do cliente recebido.

<a id="v-uid-reset"></a>

### `$uid_reset`

Se a variável for definida com uma string não vazia que não seja `0`, os identificadores de clientes são redefinidos. O valor especial `log` adicionalmente leva à saída de mensagens sobre os identificadores redefinidos para o [error_log](https://pt.angie.software//angie/docs/configuration/modules/core.md#error-log).

<a id="v-uid-set"></a>

### `$uid_set`

O nome do cookie e o identificador do cliente enviado.
