Comece a usar o FACEIO

Implemente autenticação facial sem senha em menos de 5 minutos. Crie uma aplicação FACEIO, revise as opções de segurança e privacidade e integre fio.js. Depois, use enroll() para novos usuários e authenticate() para usuários recorrentes.

Crie uma aplicação no FACEIO Console, copie o Public ID e use-o para inicializar fio.js no seu site ou aplicação web.

FACEIO em menos de 5 minutos

Um guia prático de configuração para sites e aplicações web

Este guia apresenta a sequência de integração do FACEIO: crie uma aplicação no FACEIO Console ↗, selecione um mecanismo de reconhecimento facial, revise as configurações de segurança e privacidade, carregue a biblioteca fio.js, cadastre novos usuários, autentique usuários recorrentes e gerencie a aplicação pelo Console.

Dica rápida

Consulte o modelo HTML de integração para ver um exemplo funcional de cadastro e autenticação.

Widget FACEIO mostrando o fluxo de cadastro e autenticação

Exemplo de integração: Veja como o FACEIO funciona em aplicações reais. Consulte os tutoriais da comunidade para implementações específicas por framework.

Etapas de integração do FACEIO

Siga a sequência desde a criação da aplicação até a configuração de produção:

1

Como o FACEIO funciona

Entenda como o FACEIO adiciona cadastro e autenticação facial a um site ou aplicação web.

2

Checklist de integração

Revise as etapas essenciais para integrar fio.js ao seu site ou aplicação web.

3

Crie sua aplicação

Configure sua primeira aplicação FACEIO, escolha um mecanismo de reconhecimento facial, revise as opções de segurança e personalize o widget.

4

Adicione a biblioteca fio.js

Integre a biblioteca fio.js ao seu site e inicialize-a com o Public ID da aplicação.

5

enroll() e authenticate()

Consulte os métodos de fio.js usados para cadastrar novos usuários e autenticar usuários recorrentes.

6

Cadastre seu primeiro usuário

Implemente cadastro e autenticação com exemplos funcionais e adapte o resultado à lógica de contas e sessões do seu backend.

7

Modelo de integração

Use um modelo HTML com exemplos de cadastro e autenticação.

8

Gerencie sua aplicação

Acompanhe a atividade, configure a segurança, adicione webhooks, obtenha chaves de API e gerencie o índice facial.

Introdução ao FACEIO

Como o FACEIO adiciona autenticação facial aos fluxos de login na web

Resumo

O FACEIO é um framework de autenticação facial compatível com vários navegadores para sites e aplicações web. A biblioteca fio.js abre o widget de cadastro e autenticação no frontend existente e retorna um Facial ID e o payload da aplicação para o fluxo da conta.

O que é o FACEIO?

  • O FACEIO é um framework de autenticação facial compatível com vários navegadores, disponível como serviço gerenciado ou implantação on-premises. Sua biblioteca JavaScript para o cliente, fio.js, adiciona fluxos de cadastro e autenticação a sites e aplicações web.

  • Adicione fio.js ao frontend e inicialize-a com o Public ID da aplicação. Novos usuários se cadastram por meio de enroll(), enquanto usuários recorrentes entram por meio de authenticate() usando um navegador e uma câmera compatíveis.

  • Seu backend deve associar o Facial ID retornado à conta correspondente, aplicar suas próprias regras de autorização e sessão e oferecer recuperação para usuários que não consigam concluir a autenticação facial.

  • O FACEIO funciona com webcams comuns e câmeras frontais de smartphones em navegadores modernos compatíveis, sem exigir um sensor biométrico dedicado no cliente. A biblioteca JavaScript fio.js é independente de framework e pode ser conectada a stacks comuns de frontend e backend.

Principais recursos do FACEIO

Compara uma nova captura com o índice facial cadastrado e retorna o resultado da autenticação sem exigir senha ou OTP no fluxo principal do FACEIO.

Selecione um mecanismo de reconhecimento facial compatível e uma região de implantação ao configurar a aplicação.

A biblioteca fio.js é independente de framework e se integra com JavaScript, React, Vue, Angular, Next.js e outros stacks frontend.

Funciona em navegadores modernos compatíveis com webcam comum ou câmera frontal. Criar uma aplicação ↗

Compatível com versões atuais dos principais navegadores, sujeito ao acesso à câmera e aos recursos do navegador.

Usa verificações de vivacidade e validação padrão por PIN Code no fluxo de autenticação facial.

Oferece controles de segurança configuráveis e práticas de privacidade documentadas sem exigir um sensor biométrico dedicado.

Compatível com mecanismos de reconhecimento facial na nuvem e PixLab Insight on-premises. O mecanismo de reconhecimento facial selecionado gerencia os hashes biométricos conforme a configuração do proprietário da aplicação.

Privacidade e proteção de dados

  • Os proprietários de aplicações devem fornecer os avisos e o consentimento exigidos, manter um método de acesso alternativo e atender às solicitações de exclusão. Consulte o guia de boas práticas de privacidade antes da implantação em produção.

  • O FACEIO não armazena, manipula nem acessa hashes biométricos. O mecanismo de reconhecimento facial selecionado pelo proprietário da aplicação os gerencia conforme sua configuração de implantação e armazenamento. Consulte o Trust Center para obter informações sobre privacidade e segurança do serviço.

Dica rápida

Consulte o modelo HTML de integração ou consulte as perguntas frequentes para obter mais informações.

Checklist de integração

Etapas essenciais para uma integração com fio.js

Comece criando uma aplicação FACEIO no FACEIO Console ↗ e vinculando-a ao seu site ou aplicação web. Depois, carregue e inicialize fio.js, cadastre um usuário de teste e verifique o fluxo de autenticação para usuários recorrentes.

Antes de começar

Os guias oficiais de integração com exemplos de código estão disponíveis no Centro do Desenvolvedor.

Siga estas etapas para habilitar a autenticação facial para seus usuários:

1

Acesse o FACEIO Console

Entre no FACEIO Console ↗ com seu endereço de e-mail. Depois, use o Assistente de aplicações para criar sua primeira aplicação FACEIO e vinculá-la ao seu site ou aplicação web.

2

Configure sua aplicação

O Assistente de aplicações orienta o processo de configuração. Informe um nome para a aplicação e selecione um mecanismo de reconhecimento facial, escolha uma região de armazenamento em nuvem, revise as opções de segurança e personalize o widget.

3

Integre a biblioteca fio.js

Depois de criar sua aplicação FACEIO, implemente fio.js, nossa biblioteca JavaScript de autenticação facial, no seu site e inicialize usando o Public ID da aplicação.

4

Teste o cadastro e a autenticação

Depois de carregar e inicializar fio.js, chame enroll() e authenticate() para um novo usuário e um usuário recorrente, conforme descrito nas próximas seções.

Crie sua aplicação

Configure sua aplicação FACEIO no Console

  • Antes de implementar fio.js e disponibilizar a autenticação facial aos seus usuários, você deve primeiro vincular seu site ou aplicação web a uma aplicação FACEIO por meio do FACEIO Console ↗.

  • Cada usuário cadastrado recebe um Facial ID, e sua aplicação pode associar seus próprios metadados pelo parâmetro payload. O mecanismo selecionado mecanismo de reconhecimento facial gerencia o hash biométrico em um índice isolado da aplicação. O FACEIO não armazena, manipula nem acessa hashes biométricos. Revise o mecanismo, a região de implantação e a configuração de privacidade no Application Manager do Console ↗.

  • Você pode criar uma nova aplicação no FACEIO Console ↗ em poucos minutos usando o Assistente de aplicações. O assistente orienta o processo, incluindo o nome da aplicação, a seleção do mecanismo de reconhecimento facial, a configuração de segurança e a personalização do Widget.

Crie e configure a aplicação:

1

Acesse o FACEIO Console ↗.

2

Na tela principal do Console, clique em Nova aplicação. Isso abrirá o Assistente de aplicações.

3

No Assistente de aplicações, siga as instruções exibidas. Informe o nome da aplicação e a URL da política de privacidade e selecione um Mecanismo de reconhecimento facial, uma região de armazenamento em nuvem ou implantação on-premises, as opções de segurança e a personalização do widget.

Assistente de aplicações FACEIO mostrando a configuração passo a passo

Clique para explorar o Assistente de aplicações

4

Revise a configuração e envie. Quando a aplicação for criada, você será direcionado ao Application Manager ↗, onde poderá gerenciar a nova aplicação com um guia de integração passo a passo.

Aplicação criada

Copie o Public ID da aplicação no Console. Você o usará para inicializar fio.js antes de chamar enroll() ou authenticate().

Adicione a biblioteca fio.js

Integre a biblioteca de autenticação facial ao seu site

Documentação completa

O guia de integração completo e a documentação oficial estão disponíveis no Guia de integração.

Depois de criar sua primeira aplicação pelo FACEIO Console ↗, você precisará integrar fio.js, a biblioteca JavaScript de autenticação facial do FACEIO, ao seu site ou aplicação web. Esta etapa é necessária antes de habilitar a autenticação facial para seus usuários. A configuração básica requer três linhas de código, como mostrado abaixo.

1 Importe fio.js para o seu site

Cole o seguinte trecho antes da tag de fechamento </body> das páginas HTML em que deseja usar fio.js:

A biblioteca fio.js pode ser importada pelo recurso CDN ↗.

HTML
<div id="faceio-modal"></div>
<script src="https://cdn.faceio.net/fio.js"></script>

O trecho acima carrega fio.js de forma assíncrona. Uma página HTML básica pode inicializar a biblioteca assim:

Página HTML básica com fio.js carregado

HTML
<html>
  <head>
    <title>Login por reconhecimento facial</title>
  </head>
  <body>
    <div id="faceio-modal"></div>
    <script src="https://cdn.faceio.net/fio.js"></script>
  </body>
</html>
  • Consulte o modelo HTML de integração para obter um modelo completo que você pode copiar, adaptar e testar no seu servidor.

  • Sempre carregue fio.js diretamente de cdn.faceio.net ↗. Não hospede a biblioteca por conta própria, pois isso impede o recebimento de correções e novos recursos.

2 Crie um objeto faceIO

Para inicializar fio.js, crie um objeto faceIO() e informe o Public ID da aplicação, como mostrado abaixo. Você também pode inserir esse trecho após o código de importação da etapa 1. Para um exemplo completo, consulte o modelo HTML.

Trecho JavaScript para criar um novo objeto faceIO()

HTML
<script type="text/javascript">
   /* Inicialize fio.js com o Public ID da sua aplicação */
    const faceio = new faceIO("app-public-id");
</script>

Antes de continuar, seu Public ID está disponível no Application Manager do FACEIO Console ↗. Confirme que você:

3 Abra o widget

fio.js agora está carregado e inicializado. Chame enroll() para cadastrar um novo usuário ou authenticate() para autenticar um usuário recorrente.

  • enroll() é usado para cadastrar novos usuários (cadastro)

  • authenticate() é usado para autenticar usuários existentes (identificação e login)

Antes de analisar esses métodos, veja como fica uma página HTML básica que implementa fio.js pela primeira vez:

Página HTML completa com fio.js pronta para chamar enroll() ou authenticate()

HTML
<html>
  <head>
    <title>Entrar ou cadastrar por reconhecimento facial</title>
  </head>
  <body>
    <button onclick="enrollNewUser()">Cadastrar novo usuário</button>
    <button onclick="authenticateUser()">Autenticar usuário</button>
    <div id="faceio-modal"></div>
    <script src="https://cdn.faceio.net/fio.js"></script>
    <script type="text/javascript">
        // Inicialize fio.js com o Public ID da sua aplicação
        const faceio = new faceIO("app-public-id");
        function enrollNewUser(){
           // A chamada a faceio.enroll() inicia o processo de cadastro
        }
        function authenticateUser(){
           // A chamada a faceio.authenticate() inicia a autenticação facial
        }
        function handleError(errCode){
            // Trate o erro aqui
        }
    </script>
  </body>
</html>

Modelo de referência

O HTML Boilerplate inclui uma implementação de referência completa com os métodos enroll() e authenticate().

Agora, veja os componentes que fio.js oferece antes de cadastrar o primeiro usuário.

Métodos de cadastro e autenticação

Use enroll() para novos usuários e authenticate() para usuários recorrentes

fio.js fornece dois métodos principais para o fluxo de autenticação facial:

Método enroll()

  • Chame enroll() no objeto faceIO inicializado para cadastrar um novo usuário. O método abre o Widget FACEIO e inicia o cadastro facial a partir da página de cadastro ou onboarding do seu site.

  • Ao chamar enroll(), o FACEIO Widget abre, solicita o consentimento e o acesso à câmera quando necessário e captura os dados faciais necessários para o cadastro. O mecanismo selecionado gera e indexa o hash biométrico usado em futuras autenticações.

  • enroll() aceita vários parâmetros opcionais, como locale para o idioma da interação, permissionTimeout para o tempo de espera pelo acesso à câmera e payload para dados que você deseja associar ao usuário, como e-mail, nome ou ID. Esse payload é retornado depois de uma futura autenticação.

  • enroll() retorna uma Promise que é resolvida com um objeto userInfo quando o cadastro é concluído. Ele inclui o Facial ID, a data do cadastro e as estimativas details.age e details.gender. Use o Facial ID como chave de consulta para a conta correspondente durante uma futura autenticação.

  • Se o usuário negar o acesso à câmera ou rejeitar os Termos de Serviço, a Promise será rejeitada com o código de erro correspondente, como fioErrCode.PERMISSION_REFUSED ou fioErrCode.TERMS_NOT_ACCEPTED. Consulte a seção Códigos de erro para ver a lista completa.

  • O método enroll(), seus parâmetros, valores retornados e tratamento de erros estão documentados no Guia de integração.

Método authenticate()

  • Chame authenticate() no objeto faceIO inicializado para reconhecer um usuário já cadastrado. Use o método no fluxo de login do seu site ou aplicação web.

  • Ao chamar authenticate(), o FACEIO Widget abre, solicita acesso à câmera quando necessário, executa as verificações configuradas de vivacidade e reconhecimento facial e retorna o resultado da autenticação.

  • Dependendo da configuração de segurança da aplicação, após a identificação pelo mecanismo de reconhecimento facial, o usuário poderá precisar confirmar o PIN Code escolhido durante o cadastro para que o método authenticate() seja concluído.

  • authenticate() aceita vários parâmetros opcionais, incluindo permissionTimeout para o tempo de espera pelo acesso à câmera, locale para o idioma da interação e outras opções documentadas nessa página.

  • authenticate() retorna uma Promise resolvida com um objeto userData após a identificação. As principais propriedades são payload, com os dados associados durante o cadastro, e facialId, o identificador único do usuário. Use esses valores para localizar os dados do usuário no backend.

  • O método authenticate(), seus parâmetros, valores retornados e tratamento de erros estão documentados no Guia de integração.

Pronto para continuar

Agora, reúna esses métodos e implemente exemplos funcionais de cadastro e autenticação.

Cadastre e autentique seu primeiro usuário

Exemplos funcionais de cadastro e autenticação

Para iniciar o reconhecimento facial, chame enroll() ou authenticate(), os dois principais métodos da classe faceIO() que você criou. enroll() é usado para cadastrar novos usuários, enquanto authenticate() identifica usuários recorrentes.

Cadastrar um novo usuário

O cadastro de um novo usuário, que extrai e indexa as características faciais após obter o consentimento, é iniciado com uma chamada a enroll():

Chamada típica do método enroll()

HTML
// Crie um objeto faceIO com o Public ID da sua aplicação
const faceio = new faceIO("app-public-id");
function enrollNewUser(){
  faceio.enroll({
    "locale": "auto", // Idioma padrão do usuário
    "payload": {
        /* O payload associado a este usuário e retornado em uma futura autenticação. */
        "whoami": 123456, // ID de exemplo associado a este usuário
        "email": "john.doe@example.com"
        }
    }).then(userInfo => {
        // Usuário cadastrado com sucesso 
        alert(
            `Usuário cadastrado com sucesso. Detalhes:
           Facial ID único: ${userInfo.facialId}
           Data do cadastro: ${userInfo.timestamp}
           Gênero estimado: ${userInfo.details.gender}
           Idade aproximada: ${userInfo.details.age}`
        );
       console.log(userInfo);
       // Trate o resultado, armazene o Facial ID e redirecione para o painel
    }).catch(errCode => {
       // Registre o erro ocorrido durante o cadastro
       handleError(errCode);
    })
}
  • Inicialização: Crie o objeto faceIO com o Public ID da aplicação. Substitua "app-public-id" pelo Public ID real obtido no FACEIO Console ↗.

  • Chamada de cadastro: enroll() inicia o cadastro, solicita consentimento e acesso à câmera quando necessário e começa a extração das características faciais. O parâmetro payload permite associar dados ao usuário, como um ID de usuário (whoami) e um endereço de e-mail. Esse payload será retornado após uma futura autenticação.

  • Resultado do cadastro: Quando o cadastro é concluído, a Promise é resolvida com um objeto userInfo que contém o Facial ID, a data do cadastro e as estimativas details.gender e details.age. Armazene o Facial ID no seu banco de dados para vincular futuras autenticações a esse usuário.

  • Tratamento de erros: Capture as falhas de cadastro e implemente uma função handleError() para tratar corretamente os diferentes códigos. Consulte a documentação dos códigos de erro para ver todos os códigos disponíveis.

Autenticar um usuário existente

Da mesma forma, a autenticação de um usuário cadastrado anteriormente é iniciada com uma chamada a authenticate():

Chamada típica do método authenticate()

HTML
const faceio = new faceIO("app-public-id"); // Inicialize com o Public ID da sua aplicação
function authenticateUser(){
    faceio.authenticate({
        "locale": "auto" // Idioma padrão do usuário
    }).then(userData => {
        console.log("Sucesso, usuário identificado")
        // Leia o Facial ID retornado para este usuário. Ele permanece o mesmo
        // após cada autenticação bem-sucedida nesta aplicação.
        // Armazene-o como chave de consulta da conta correspondente no backend.
        console.log("Facial ID vinculado: " + userData.facialId)
        // Leia os dados que você associou a este usuário, se houver
        // durante o cadastro pelo parâmetro payload de enroll().
        console.log("Payload: " + JSON.stringify(userData.payload)) // Dados do payload do exemplo de enroll() acima
    }).catch(errCode => {
        handleError(errCode)
    })
}
  • Inicialização: Inicialize o objeto faceIO com o Public ID da aplicação, como no exemplo de cadastro.

  • Chamada de autenticação: authenticate() inicia a autenticação, solicita acesso à câmera quando necessário e executa o reconhecimento facial. O parâmetro locale define o idioma de interação do widget.

  • Resultado da autenticação: Quando a autenticação é concluída, a Promise é resolvida com um objeto userData. userData.facialId é o identificador estável desse usuário em todas as autenticações. Use-o como chave principal para localizar o usuário no backend. O userData.payload contém os dados associados durante o cadastro, por exemplo {"whoami": 123456, "email": "john.doe@example.com"}.

  • Tratamento de erros: Capture as falhas de autenticação e implemente uma função handleError() para tratar cada código retornado. Consulte a documentação dos códigos de erro para ver todos os códigos disponíveis.

Próxima etapa

O modelo HTML de integração inclui uma implementação de referência que combina enroll() e authenticate() em um modelo inicial completo.

Modelo completo de integração

Modelo HTML inicial com o fluxo de integração

O modelo HTML reúne inicialização, cadastro, autenticação e tratamento de erros em um arquivo de referência. Adapte o vínculo com as contas, o gerenciamento de sessões, a recuperação e as mensagens antes do uso em produção. O mesmo código está disponível como GitHub Gist ↗.

Importante: substitua os valores de exemplo

Substitua o valor app-public-id pelo Public ID real da aplicação ao inicializar fio.js. Você encontra o Public ID no Application Manager do FACEIO Console ↗.

O modelo

Notas de implementação

  • Chamadas aos métodos: O exemplo chama enroll() para cadastrar novos usuários e authenticate() para autenticar usuários existentes. Revise suas opções, valores retornados e erros no Guia de integração antes de adaptar o exemplo.
  • Personalize o payload: Altere o parâmetro payload do método enroll() para associar seus próprios dados aos usuários cadastrados. O payload é retornado durante futuras autenticações. Consulte a enroll() documentação para obter mais informações.
  • Servidor HTTP necessário: fio.js deve ser carregado por um servidor HTTP devido aos requisitos de segurança do navegador. Ele não funciona diretamente pelo sistema de arquivos. Publique o modelo no diretório HTML do servidor e acesse-o pelo navegador. Consulte nosso guia de práticas recomendadas de segurança para obter mais informações.
  • Armazene o Facial ID: Depois do cadastro, armazene o facialId retornado no banco de dados e vincule-o à conta. Ele funciona como chave de consulta para futuras autenticações.
  • Tratamento de erros: O controlador recebe os códigos de erro retornados. Adapte cada mensagem à interface e ao fluxo de recuperação do seu site ou aplicação web.

Exemplo de integração concluído

Agora você tem uma implementação de referência para carregar fio.js, chamar enroll() e chamar authenticate(). Em seguida, revise o gerenciamento da aplicação e as opções de configuração para produção.

Gerencie sua aplicação

Revise configurações, eventos, usuários e acesso à API

Use o Application Manager no FACEIO Console ↗ para revisar e configurar cada aplicação após integrar fio.js:

Atividade em tempo real

Consulte a atividade de cadastro e autenticação da aplicação.

Configuração de segurança

Configure as opções de segurança, incluindo requisitos de PIN Code, filtragem de origem por domínio e restrições por país.

Gerenciamento de usuários

Exclua Facial IDs cadastrados quando precisar atender ao direito de exclusão de um usuário.

Integração com webhooks

Configure webhooks para receber eventos em tempo real e sincronizá-los com o backend.

Gerenciamento do índice facial

Gerencie o índice facial da aplicação, amplie o armazenamento, migre para on-premiseou transfira para um bucket S3.

Personalização do widget

Adapte o tema, as cores e o layout do widget ao design do seu site.

Gerenciamento de chaves de API

Obtenha suas chaves de API e acompanhe as chamadas e cotas da API no backend.

Suporte e manutenção

Use os canais de suporte para abrir tickets, alterar o plano ou gerenciar o ciclo de vida da aplicação.

Continue sua integração com o FACEIO

Crie uma aplicação, teste o cadastro e a autenticação, vincule o Facial ID às contas no backend e revise as orientações de segurança e privacidade antes da implantação.

Crie sua aplicação FACEIO

Abra o FACEIO Console, crie uma aplicação, copie o Public ID e use este guia de 5 minutos para conectar fio.js ao seu site ou aplicação web.