> For the complete documentation index, see [llms.txt](https://facesign.gitbook.io/biometria/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://facesign.gitbook.io/biometria/recursos/funcionalidade-1-n.md).

# Funcionalidade 1:N

A funcionalidade **1:N** (ou “Um para Muitos”) é um componente essencial em sistemas de reconhecimento facial voltados à **identificação de indivíduos**. Diferente da abordagem **1:1**, onde a imagem facial de uma pessoa é comparada diretamente com outra imagem de referência (por exemplo, validação de identidade via selfie frente a um documento), o **1:N** realiza a comparação de uma imagem facial contra uma **base de dados contendo múltiplos perfis faciais registrados**.

Essa funcionalidade permite identificar uma pessoa **sem que ela informe previamente sua identidade**, com base apenas na imagem do seu rosto. O sistema então procura, dentro do banco de dados, o registro mais semelhante ou compatível com aquela imagem.

## Container

O Container de faces é um conjunto organizado de representações faciais (embeddings) armazenadas no banco de dados, utilizadas como base para fazer a identificação de pessoas. O Container de faces é cadastrado por cliente, ou seja, o cliente poderá realizar o Cadastro de faces no Container e, posteriormente, o Match 1:N com a base de todas as faces cadastradas em seu perfil.

## Liveness

Na implementação do Cadastro e Match 1:N, o cliente poderá optar por ativar ou desativar o Liveness como parâmetro para realizar cadastros ou autenticações de faces.

* Parâmetro Liveness ativado: Caso a face enviada não passe pelo Liveness, a API Facesign retorna com *Code 400 - Erro*, não permitindo a finalização do processo com retorno negativo do Liveness;
* Parâmetro Liveness desativado: Cadastros e Matchs podem ser realizados sem a validação positiva do Liveness, a face passará pelo processo de Cadastrou ou Match independente do retorno positivo ou negativo do Liveness. Mesmo com o Parâmetro Liveness desativado, a API Facesign devolverá no Payload o resultado do Liveness da face enviada.

O Parâmetro Liveness ativado garante uma maior segurança e autenticidade tanto no Cadastro, quanto no Match 1:N.

## Token

Para gerar um token de autenticação, envie um JSON com o ID e senha fornecidos pela Facesign para o endpoint: `/api/v1/auth/empresa/autenticar`.

Exemplo de JSON:

```json
{
  "empresaId": "9EEC5EFD-XXXX-XXXX-8A10-1F689615D3BE",
  "password": "S6YW59TejZ9aJ0gXXXXXXXXXXXXXtnpOUCObZCL5r"
}
```

Ao enviar, retornará no payload o token de acesso e o tempo para expirar, desta forma:

```json
{
 "AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5ZWVjNWVmZC0wYWY1LTQwZTItOGExMC0xZjY4OT...",
    "ExpiresIn": 86400,
    "UserToken": {
        "UsuarioId": "9eec5efd-XXXX-XXXX-XXXX-1f689615d3be",
        "EmpresaId": "9eec5efd-XXXX-XXXX-XXXX-1f689615d3be",
        "Nome": "Face1N_Dev",
        "Role": 1
    }
}
```

O token de acesso será inserido no “header” como “Authorization” : “Bearer Token”

Exemplo:

“Authorization” : “Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 .eyJzdWIiOiI5ZWVjNWVmZC0wYWY1LTQwZTItOGExMC0xZjY4OT...”

Para teste via Postman, basta apenas acessar a aba “Authorization” na Collection, selecionar a opção “Bearer Token” no tipo de autenticação (*Auth* *Type*) e colocar o token gerado.
