Fortface

Visão Geral

O Liveness 3D Fortface permite realizar a validação de prova de vida utilizando o SDK Fortface integrado à API do FaceCaptcha.

A integração é composta por duas etapas:

  1. Criação da sessão.
  2. Validação da prova de vida.

Fluxo da Integração

Aplicação Cliente
    │
    ▼
Obtém appkey
    │
    ▼
POST /facecaptcha/service/captcha/fortface/session-token
    │
    ▼
Recebe:
• sessionToken
• sessionKey
• sessionId
    │
    ▼
SDK Fortface realiza a captura
    │
    ▼
POST /facecaptcha/service/captcha/fortface/liveness
    │
    ▼
    Resultado da validação

Passo 1 – Token

Para esta etapa deve-se executar o método: Session Token.

Este método cria um session token para habilitar o SDK Front-end 3D Liveness para execução da validação. Esse token está associado a appkey gerada no segundo passo.

❗️

Após a chamada ao /fortface/liveness, tanto o session token quanto a appkey são finalizados. Ou seja, para gerar uma nova sessão é necessário retornar ao segundo passo e gerar uma nova appkey.

Gera um session token para inicializar o SDK do FortFace. O token é associado a uma appkey previamente gerada e deve ser utilizado para iniciar a sessão de prova de vida.

Após a utilização deste endpoint, tanto o session token quanto a appkey são invalidados. Para iniciar uma nova sessão, é necessário gerar uma nova appkey e solicitar um novo session token.

Passo 2 - Request

Aqui é onde você faz a chamada para o endpoint da API, enviando as informações necessárias para iniciar o processo.

❗️

É importante garantir que os headers e os dados do body estejam corretamente preenchidos para que tudo funcione como esperado.

Basta seguir o exemplo abaixo de como a URL e os headers devem ser configurados para realizar o processo corretamente.

POST /facecaptcha/service/captcha/fortface/session-token
HeadersDescrição
Content-Typeapplication/json

Body Params

Esses são os parâmetros que você precisa incluir no body do request. Certifique-se de preencher corretamente para que a API consiga processar a solicitação.

BodyTipoObrigatórioDescrição
appkeystringSimAppKey obtida na autenticação.
userAgentstringSimUser Agent do navegador.
deviceRequestInfostringSimInformações do dispositivo retornadas pelo SDK Fortface.

Request example

Aqui está um exemplo de como o body do request deve ser estruturado. Use esse exemplo como referência para montar a sua requisição, substituindo os valores necessários.

{
  "appkey": "...",
  "userAgent": "Mozilla/5.0 (...)",
  "deviceRequestInfo": "40c74a49..."
}

Passo 3 - Response

Após enviar a requisição, essa é a parte em que você recebe a resposta da API. Ela trará informações importantes como o sessionToken, sessionId e sessionKey da sessão que será usada para realizar a validação biométrica.

👍

Fique atento também ao código de status para identificar se a operação foi bem-sucedida ou se ocorreu algum erro.

Response Body

Este é o formato do body que você receberá na resposta da API. Ele contém o sessionToken, sessionId e sessionKey da sessão que será utilizado para inicializar o SDK do Liveness 3D e habilitar a validação biométrica.

CampoTipoDescrição
sessionTokenstringToken da sessão.
sessionKeystringChave pública utilizada pelo SDK.
sessionIdstringIdentificador da sessão.

Responses

Aqui você encontra os possíveis status codes que a API pode retornar. Eles indicam se a requisição foi bem-sucedida ou se houve algum problema, como credenciais expiradas ou erro interno no servidor.

Status CodeDescrição
200OK
401Não autorizado ou credenciais expiradas.
500Erro interno na geração do Token.

Response example

Este é um exemplo de como a resposta da API pode se parecer. Ele mostra o formato dos dados que você receberá após o processamento da requisição.

{
  "sessionToken": "...",
  "sessionKey": "-----BEGIN PUBLIC KEY-----...",
  "sessionId": "b43efea9-bbf2..."
}
📘

É bom saber!

  1. Os métodos para a execução de cada módulo são exclusivos para o fluxo ao qual pertence;

Passo 4 - Liveness 3D

Agora que o token foi gerado, é hora de validar a autenticidade biométrica com o método Liveness. Esta etapa realiza a verificação do liveness do usuário, garantindo que o processo seja feito de forma segura.

👍

Esse é o momento em que a validação biométrica realmente acontece. Utilizando o sessionToken gerado anteriormente e a appkey, o sistema realiza uma verificação em tempo real para garantir que há uma pessoa viva na frente da câmera. O resultado dessa etapa vai indicar se a prova de vida foi bem-sucedida ou não, além de fornecer um protocolo de referência para acompanhamento.

Request

Aqui você verá como fazer a requisição para realizar a validação de liveness. Como na etapa anterior, você precisará configurar corretamente a URL e o body para enviar o appkey e o sessionToken e os dados do SDK obtidos.

POST /facecaptcha/service/captcha/fortface/liveness
HeadersDescrição
Content-Typeapplication/json

Body Params

CampoTipoObrigatórioDescrição
appkeystringSimAppKey utilizada na autenticação.
userAgentstringSimUser Agent do navegador.
datastringSimDados criptografados retornados pelo SDK.
imgDatastringSimImagem retornada pelo SDK.
keystringSimChave retornada pelo SDK.
sessionIdstringSimIdentificador da sessão.
sessionTokenstringSimToken retornado na criação da sessão.

Request Body

Esse é o formato correto para o body do request. Ele precisa incluir tanto o appkey quanto o sessionToken para que o processo de validação funcione corretamente.

{
  "appkey": "...",
  "userAgent": "Mozilla/5.0 (...)",
  "data": "...",
  "imgData": "...",
  "key": "...",
  "sessionId": "...",
  "sessionToken": "..."
}

Response

Após o request de validação de liveness, você vai receber uma resposta com o status do processo. Ela indica se o acesso foi aprovado ou não, e pode fornecer mais detalhes sobre o motivo do sucesso ou falha.

HeadersDescrição
Content-Typeapplication/json

Response Body

O body da resposta irá indicar se a validação foi bem-sucedida ou não, juntamente com o código identificador da transação. Além disso, ele vai fornecer o motivo da falha, caso tenha ocorrido, seja por Biometria ou Prova de Vida.

BodyDescrição
validIndica Acesso Negativo ou Acesso Positivo (true or false).
codIDCódigo identificador do tipo da transação (detalhes mais abaixo).
causeIndica por qual motivo o processo finalizou sem sucesso (Biometria ou Prova de Vida).
protocolProtocolo da transação de prova de vida. Ex: "201900039067".

codID

Esse campo traz o código de identificação do tipo de transação realizada. Ele pode ser útil para entender o resultado da validação, como "Prova de vida válida" ou "Usuário bloqueado".

codIDDescrição
200.0Prova de vida válida.
300.1Prova de vida inválida.
300.2Usuário bloqueado.

Responses

Aqui estão os status codes possíveis que a API pode retornar, informando sobre o sucesso ou falha do processo. Os códigos ajudam a identificar se o problema é devido a credenciais inválidas, erro interno, ou outro tipo de falha.

Status CodeDescrição
200OK.
401Não autorizado ou credenciais expiradas.
500Erro genérico.

Response example

Esse é um exemplo de como a resposta pode se parecer. Ela irá mostrar, entre outras coisas, o resultado da validação e o código que descreve o tipo de acesso concedido ou negado.

{
    "valid":false ,
    "codID":300.1 ,
    "cause":"PROVA DE VIDA" ,
    "protocol":"201900039067" ,
}

Sequência da Validação

  1. Obter uma AppKey.
  2. Criar uma sessão através do endpoint /session-token.
  3. Receber sessionToken, sessionKey e sessionId.
  4. Inicializar o SDK Fortface.
  5. Realizar a captura da prova de vida.
  6. Enviar os dados da captura para o endpoint /liveness.
  7. Receber o resultado da validação.

Observações

  • O endpoint /session-token deve ser chamado antes da captura da prova de vida.
  • Os valores sessionToken e sessionId retornados na criação da sessão devem ser enviados na requisição de validação.
  • O SDK Fortface bloqueia a execução da validação quando as ferramentas de desenvolvedor (F12) do navegador estão abertas.