FaceAuthenticator
Importando o SDK
Para utilizar o FaceAuthenticator, você pode tanto importar remotamente o arquivo .js
como baixá-lo localmente.
Remotamente
Inclua o arquivo .js
diretamente do CDN:
<script src="https://repo.combateafraude.com/javascript/release/face-authenticator/<VERSION>.umd.js" type="text/javascript"></script>
Você pode recuperar a classe do SDK utilizando o seguinte código:
const { FaceAuthenticatorSdk } = window['@combateafraude/face-authenticator'];
Localmente
Baixe o arquivo .js
e importe-o como um módulo ES6:
import { FaceAuthenticatorSdk } from '../assets/js/face-authenticator-<VERSION>.js'
Construção
No construtor, o SDK recebe um único parâmetro com as configurações:
const sdk = new FaceAuthenticatorSdk(options);
Parâmetros suportados
Os campos sem valor padrão são obrigatórios.
Campo | Tipo | Valor padrão | Descrição |
---|---|---|---|
token | string | Token de autenticação para consumir o SDK | |
environmentSettings.disableDesktopExecution | bool | false | Flag indicando se a execução em desktops deve ser bloqueada |
capturerSettings.disableAdvancedCapturing | bool | false | Flag indicando se a captura avançada deve ser desabilitada* |
(DEPRECATED) appearenceSettings.hideCaptureTitle | bool | false | Flag indicando se o texto no topo da tela de captura deve ser oculto |
(DEPRECATED) appearenceSettings.hideCaptureMask | bool | false | Flag indicando se a máscara deve ser oculta |
(DEPRECATED) appearenceSettings.hideCameraSwitchButton | bool | false | Flag indicando se o botão para alternar entre câmeras deve ser oculto |
* A captura avançada consiste no uso de APIs mais complexas e não tão estáveis em navegadores que oferecem suporte à mesma (e.g. ImageCapture)
** As opções de aparência foram depreciadas pois um sistema mais avançado de customização será lançado.
Exemplo
const sdk = new FaceAuthenticatorSdk({
token: `my-sdk-token`,
environmentSettings: {
disableDesktopExecution: false,
},
appearenceSettings: {
hideCaptureTitle: false,
hideCaptureMask: false,
hideCameraSwitchButton: false,
},
capturerSettings: {
disableAdvancedCapturing: false,
}
});
Inicialização
initialize(): Promise<void>
O SDK conta com um método isolado de inicialização, para permitir um maior controle de quando ela ocorre.
Durante essa inicialização, o SDK irá inicializar suas variáveis internas e fazer download dos recursos necessários para sua execução.
[!] Você deve chamar este método antes de utilizar outros métodos do SDK.
[!] A inicialização do SDK pode levar alguns segundos. Recomendamos que você chame essa função o mais cedo possível no seu fluxo, para que a abertura do SDK seja suave para o usuário.
Exemplo
await sdk.initialize();
Utilização
Abertura
open(container: HTMLElement): Promise<void>
Método utilizado para carregar o SDK na tela.
Irá inicializar a stream de vídeo (solicitando permissões se necessário) e carregá-la no container.
Parâmetros
Parâmetro | Tipo | Valores válidos | Descrição |
---|---|---|---|
container | HTMLElement | - | Elemento no DOM em que o SDK será carregado (e.g. div ) |
Exemplo
// div or another element on DOM
const sdkContainer = document.getElementById('sdk-displayer');
await sdk.open(sdkContainer);
Autenticar usuário
authenticate(personId: string, captureSettings?: CaptureSettings): Promise<Result>
Método utilizado para fazer a captura de uma selfie e autenticar o usuário
Parâmetros
Parâmetro | Tipo | Valores válidos | Descrição |
---|---|---|---|
captureSettings.mode ¹ | string | automatic , manual | Configura a captura como automática ou manual |
captureSettings.automaticCaptureTimeoutInSeconds ² | number | Números. | Timeout antes da captura automática alternar para manual (se não encontrar documento). Use 0 para nunca alternar. |
¹ Se não especificado, a captura automática é utilizada
² Se não especificado, usa-se um valor padrão de 30 segundos
Retorno
O retorno consiste em um objeto com o seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
imageUrl | string | Link temporário para a imagem, gerado pela nossa API |
blob | Blob | Blob da imagem capturada |
isMatch | boolean | Boolean indicando se o rosto capturado é idêntico ao rosto registrado para o personId informado |
Exemplo
const personId = '[cpf do usuário]'
const captureSettings = { mode: 'automatic', automaticCaptureTimeoutInSeconds: 10 };
const result = await sdk.authenticate(personId, captureSettings);
// { imageUrl: '[link da imagem]', blob: Blob, isMatch: true }
Fechar SDK
close(): Promise<void>
Método utilizado para remover o SDK na tela.
Irá remover os elementos visuais do SDK do DOM.
De-inicializar o SDK
dispose(): Promise<void>
Método utilizado para remover o SDK na tela.
Irá de-inicializar a stream de vídeo e limpar as variáveis internas do SDK
Exemplo completo
Em breve.