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:
- Criação da sessão.
- 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çãoPasso 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| Headers | Descrição |
|---|---|
| Content-Type | application/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.
| Body | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| appkey | string | Sim | AppKey obtida na autenticação. |
| userAgent | string | Sim | User Agent do navegador. |
| deviceRequestInfo | string | Sim | Informaçõ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.
| Campo | Tipo | Descrição |
|---|---|---|
| sessionToken | string | Token da sessão. |
| sessionKey | string | Chave pública utilizada pelo SDK. |
| sessionId | string | Identificador 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 Code | Descrição |
|---|---|
| 200 | OK |
| 401 | Não autorizado ou credenciais expiradas. |
| 500 | Erro 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!
- 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| Headers | Descrição |
|---|---|
| Content-Type | application/json |
Body Params
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| appkey | string | Sim | AppKey utilizada na autenticação. |
| userAgent | string | Sim | User Agent do navegador. |
| data | string | Sim | Dados criptografados retornados pelo SDK. |
| imgData | string | Sim | Imagem retornada pelo SDK. |
| key | string | Sim | Chave retornada pelo SDK. |
| sessionId | string | Sim | Identificador da sessão. |
| sessionToken | string | Sim | Token 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.
| Headers | Descrição |
|---|---|
| Content-Type | application/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.
| Body | Descrição |
|---|---|
| valid | Indica Acesso Negativo ou Acesso Positivo (true or false). |
| codID | Código identificador do tipo da transação (detalhes mais abaixo). |
| cause | Indica por qual motivo o processo finalizou sem sucesso (Biometria ou Prova de Vida). |
| protocol | Protocolo 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".
| codID | Descrição |
|---|---|
| 200.0 | Prova de vida válida. |
| 300.1 | Prova de vida inválida. |
| 300.2 | Usuá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 Code | Descrição |
|---|---|
| 200 | OK. |
| 401 | Não autorizado ou credenciais expiradas. |
| 500 | Erro 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
- Obter uma AppKey.
- Criar uma sessão através do endpoint
/session-token. - Receber
sessionToken,sessionKeyesessionId. - Inicializar o SDK Fortface.
- Realizar a captura da prova de vida.
- Enviar os dados da captura para o endpoint
/liveness. - Receber o resultado da validação.
Observações
- O endpoint
/session-tokendeve ser chamado antes da captura da prova de vida. - Os valores
sessionTokenesessionIdretornados 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.
Updated 2 days ago
