For the complete documentation index, see llms.txt. This page is also available as Markdown.

Como integrar Oz Liveness à sua aplicação móvel

O Oz Liveness Mobile SDK implementa a interface de usuário de captura facial pronta para uso, essencial para uma experiência do cliente fluida e resultados de Liveness precisos.

Este guia conduz você pela sua primeira verificação de Liveness usando Mobile SDK (iOS ou Android) e Oz API.

O fluxo descrito combina:

  • Modo de captura – o Mobile SDK captura o vídeo de Liveness no app e o backend do CLIENT o encaminha para Oz API. Os resultados de captura não são enviados do SDK diretamente para Oz API; o backend do CLIENT atua como intermediário.

  • OzCapsula – um contêiner binário criptografado proprietário. O SDK empacota a mídia capturada nele; apenas a Oz API pode descriptografá-lo e processá-lo. No dispositivo, ele é um blob opaco – não é possível decodificá-lo ou inspecioná-lo, apenas encaminhá-lo como está.

Cada etapa é marcada:

  • [Oz SDK] – chame nossa API do SDK.

  • [Seu código] – chame seu próprio backend ou seu próprio código.

{{host}} nos exemplos abaixo é a URL base da sua implantação da Oz API, fornecida durante a configuração da implantação.

Requisitos

Componente
Versão mínima

Oz API

6.6.1

iOS SDK

10.0.0

Android SDK

10.0.0

Flutter

10.0.0

Use Content-Type: application/octet-stream para qualquer contêiner enviado ao Oz API.

Antes de começar, certifique-se de ter credenciais do Oz API. Ao usar a API SaaS, você as obtém de nós:

Para o Oz API on-premise, você precisa criar um usuário por conta própria ou pedir à sua equipe que gerencia a API. Consulte o guia sobre criação de usuário via Web Console. Considere a função de usuário adequada (CLIENT na maioria dos casos ou CLIENT ADMIN, se for fazer o SDK funcionar com as pastas pré-criadas de outros usuários da API). No fim, você precisa obter um conjunto semelhante de credenciais ao que receberia no cenário SaaS.

Esses parâmetros são obrigatórios para o OzCapsula funcionar. Defina-os no arquivo de configuração da sua API.

Também recomendamos o uso do nosso serviço de logging chamado telemetry, pois ele ajuda muito na investigação dos detalhes dos ataques. Para usuários do Oz API, o serviço está habilitado por padrão. Para instalações on-premise, forneceremos credenciais.

Oz Liveness Mobile SDK requer uma licença. A licença está vinculada ao bundle_id da sua aplicação, por exemplo, com.yourcompany.yourapp.

Instruções

1

(seu código) Adicione o SDK ao seu projeto

Android

No build.gradle do seu projeto, adicione:

No build.gradle do módulo, adicione:

iOS

CocoaPods

Para integrar o OZLivenessSDK a um projeto Xcode, adicione ao Podfile:

SPM

Adicione as seguintes dependências de pacote via SPM: https://gitlab.com/oz-forensics/oz-mobile-ios-sdk (se precisar de um guia sobre como adicionar as dependências de pacote, consulte a documentação da Apple). OzLivenessSDK é obrigatório. Ignore o OzLivenessSDKOnDevice arquivo.

Flutter

Adicione ao pubspec.yaml:

2

(Oz SDK) Inicialize o SDK com uma licença

Chame uma vez a cada inicialização do app.

Android

Conecte o receptor de telemetry

Depois que a licença for carregada, aponte o SDK para o receptor de telemetry do Oz para que ele possa enviar telemetry. Passe o host de eventos junto com um token de serviço.

O host de eventos e o token de serviço são fornecidos por Oz Forensics. Eles são distintos do session_token usado para a captura na Etapa 2.

iOS

Configuração opcional de idioma:

Conecte o receptor de telemetry

Depois que a licença for carregada, aponte o SDK para o receptor de telemetry do Oz para que ele possa enviar telemetry. Passe o host de eventos junto com um token de serviço.

O host de eventos e o token de serviço são fornecidos por Oz Forensics. Eles são distintos do session_token usado para a captura na Etapa 2.

Flutter

Conecte o receptor de telemetry

Depois que a licença for carregada, aponte o SDK para o receptor de telemetry do Oz para que ele possa enviar telemetry. Passe o host de eventos junto com um token de serviço.

O host de eventos e o token de serviço são fornecidos por Oz Forensics. Eles são distintos do session_token usado para a captura na Etapa 2.

3

(seu código) Obtenha um session_token do seu backend

O OzCapsula usa um session_token. O token é obrigatório para o OzCapsula.

Seu backend solicita um session_token da Oz API. Solicite-o antes de cada sessão de captura, o mais próximo possível do momento em que o usuário iniciar a captura.

Endpoint:

Solicitação:

O mecanismo de autorização para chamadas à Oz API (access_token) depende das configurações da sua instalação: ao usar a Instant API, você pode integrá-la ao seu próprio esquema de autorização. Se um access token for exigido no seu caso, consulte Autenticação. Além disso, observe que o token de acesso e o session_token são tokens diferentes emitidos para finalidades diferentes.

Resposta:

Esse token é de curta duração (validade padrão: 900 segundos para API Full, 120 segundos para Instant API). Solicite um por sessão de captura e passe-o ao SDK imediatamente – não armazene em cache nem reutilize tokens entre sessões.

4

(Oz SDK) Abra a tela de captura com o session_token

Passe o session_token de Etapa 3.

Android
iOS
Flutter
5

(Oz SDK) Obtenha o contêiner OzCapsula

O contêiner é um blob criptografado opaco. Você não pode decodificá-lo, inspecioná-lo ou extrair imagens / quadros / metadados individuais dele no dispositivo. Ele deve ser encaminhado como está para o seu backend. Se precisar de acesso às imagens capturadas (por exemplo, a melhor captura), recupere-as da resposta de análise da Oz API no lado do servidor.

Android

Extraia o DataContainer do intent de resultado.

iOS

Implemente o delegate. Em caso de sucesso, você recebe um DataContainer.

Flutter

Inscreva-se em livenessResult; o contêiner chega como um DataContainer.

6

(seu código) Envie o contêiner para a Oz API

Envie o contêiner criptografado para o seu próprio backend como bytes brutos (application/octet-stream). Seu backend o encaminha para Oz API e retorna a resposta da análise.

Android

O código abaixo é ilustrativo – YourBackend.uploadOzContainer(...) for não parte do Oz SDK. Implemente este método você mesmo no cliente do seu backend; o Oz SDK não fornece um helper de upload para este caminho de integração.

iOS

O código abaixo é ilustrativo – YourBackend.uploadOzContainer for não parte do Oz SDK. Implemente este método você mesmo no cliente do seu backend; o Oz SDK não fornece um helper de upload para este caminho de integração.

Flutter

O código abaixo é ilustrativo – YourBackend.uploadOzContainer for não parte do Oz SDK. Implemente este método você mesmo no cliente do seu backend; o Oz SDK não fornece um helper de upload para este caminho de integração.

Seu backend envia o contêiner para Oz API em uma única operação síncrona POST solicitação.

Endpoint (Instant API):

Endpoint (Full API):

Cabeçalhos:

  • Content-Type: application/octet-stream (obrigatório).

  • X-Forensic-Access-Token: {{access_token}}. (opcional, depende das configurações da instalação).

Corpo da solicitação: os bytes brutos do contêiner – sem envelope JSON, sem multipart, sem encapsulamento base64.

Solicitação (Instant API):

Solicitação (Full API):

Em caso de sucesso: HTTP 201 com um objeto JSON de pasta descrevendo o resultado. Consulte Etapa 7.

Em caso de erro no nível do contêiner: HTTP 400 – consulte Exceções.

Este guia cobre a análise de Liveness. Para executar uma análise de Face Matching dentro do fluxo do OzCapsula, consulte Como Executar uma Análise de Face Matching no Fluxo do OzCapsula.

7

(seu código) Trate a resposta

Seu backend agora tem a resposta – um objeto JSON de pasta descrevendo o resultado.

Tome a decisão de aceitar/rejeitar usando apenas estes dois campos de nível superior:

Interprete system_resolution:

  • SUCCESS – todas as verificações foram aprovadas; aceite o usuário.

  • DECLINED – uma ou mais verificações falharam; rejeite o usuário.

  • FAILED – um erro de sistema impediu que pelo menos uma análise fosse concluída; não trate como aceitação ou rejeição.

Para veredictos por análise (por exemplo, para saber se liveness foi aprovado, mas biometria falhou), leia $.analyses[*].resolution_status com os valores descritos acima.

Lista de verificação


Com estas etapas, a integração básica dos Mobile SDKs está concluída. Você poderá acessar a mídia gravada e os resultados da análise na Web Console via navegador ou programaticamente via API.

Nos guias do desenvolvedor, você também pode encontrar instruções para personalizar a aparência do SDK e acessar a lista completa dos métodos do nosso Mobile SDK. Confira a tabela abaixo:

Android app de exemplo código-fonte

iOS app de exemplo código-fonte

Flutter app de exemplo código-fonte

app de demonstração no PlayMarket

app de demonstração no TestFlight

Atualizado

Isto foi útil?