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
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
(Oz SDK) Inicialize o SDK com uma licença
Chame uma vez a cada inicialização do app.
Durante o desenvolvimento, as verificações de segurança do SDK podem fazer com que a análise seja declined – por exemplo, quando o app é executado com um depurador conectado. Se precisar executar o SDK nessas condições durante o desenvolvimento, reduza a rigidez das verificações de segurança definindo o ambiente do SDK como o debug modo:
O debug deve ser usado somente durante o desenvolvimento e os testes. Todas as compilações de release devem usar o valor padrão PRODUCTION (Android), .prod (iOS), ou production (Flutter), em que todas as verificações de segurança estão habilitadas.
(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.
(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.
Não não execute a análise diretamente do mobile SDK. No fluxo de integração com SDK incorporado, a chamada de análise deve passar pelo seu próprio backend.
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.
(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
Atualizado
Isto foi útil?
