Skip to main content

Visão Geral

O Valid Liveness SDK é uma biblioteca JavaScript que permite a integração de verificação de vivacidade facial em aplicações web. O SDK oferece uma interface unificada e simplificada para captura biométrica, com suporte a personalização completa da interface e mensagens.

Principais Recursos

API Simplificada

Execute todo o fluxo de verificação com uma única chamada

Personalização Completa

Customize cores, textos e idiomas da interface

Segurança Avançada

Criptografia de dados e detecção de injeção de câmera

Multi-idioma

Português (pt-BR) e Inglês (en-US) nativos

Credenciais Necessárias

Você precisará das seguintes credenciais fornecidas pela Valid:
CredencialDescrição
API KeyChave de autenticação para acesso à API
CEKClient Encryption Key - arquivo JSON com chaves de criptografia
Backend URLEndpoint do servidor de processamento

Instalação via CDN

A instalação via CDN estará disponível em breve.

Verificando o Carregamento

Após o carregamento do script, o objeto ValidHub estará disponível globalmente:
if (typeof ValidHub !== 'undefined') {
  console.log('Valid Liveness SDK carregado com sucesso!');
} else {
  console.error('Falha ao carregar o SDK');
}

Estrutura HTML Mínima

<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Verificação de Identidade</title>
    <script src="https://cdn.valid.com/liveness-sdk/latest/valid-hub-sdk.min.js"></script>
  </head>
  <body>
    <!-- Container onde o SDK irá renderizar a interface de captura -->
    <div id="camera-container"></div>

    <button id="iniciar-verificacao">Iniciar Verificação</button>

    <script src="seu-app.js"></script>
  </body>
</html>

Configuração do CEK

O CEK (Client Encryption Key) é um arquivo JSON contendo as chaves de criptografia necessárias para a comunicação segura com o backend.

Estrutura do CEK

interface CEKData {
  keyId: string; // Identificador único da chave
  key?: string; // Chave de criptografia (formato alternativo)
  encryptionKey?: string; // Chave de criptografia
  algorithm: string; // Algoritmo utilizado
  clientId: string; // ID do cliente na plataforma
  createdAt: string; // Data de criação
  expiresAt?: string; // Data de expiração (opcional)
  metadata?: any; // Metadados adicionais
  signature?: any; // Assinatura de verificação
}

Carregando o CEK

// Carregar CEK de arquivo JSON
async function carregarCEK() {
  const response = await fetch('/config/meu-cek.json');
  const cekData = await response.json();
  return cekData;
}

// Uso
const cekData = await carregarCEK();

const config = {
  apiKey: 'sua-api-key',
  cek: cekData, // Passar o objeto CEK diretamente
  mount: '#camera-container',
  backendBaseUrl: 'https://api.valid.com/liveness',
};

Exemplo de Arquivo CEK

{
  "keyId": "key-123456",
  "encryptionKey": "base64-encoded-key...",
  "algorithm": "A256GCM",
  "clientId": "client-abc123",
  "createdAt": "2025-01-01T00:00:00Z",
  "expiresAt": "2026-01-01T00:00:00Z"
}
Segurança: Proteja o arquivo CEK. Mantenha-o em um endpoint com autenticação e considere carregá-lo dinamicamente quando necessário.

Próximos Passos