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

FaceAuthenticator (Descontinuado)

Face match com prova de vida do usuário do seu app, ideal para fluxos de login ou transações financeiras valiosas.

Permissões obrigatórias

No info.plist arquivo, adicione as permissões abaixo:

Permissão

Motivo

Obrigatório?

Privacidade - Descrição de Uso da Câmera

Para capturar a selfie do usuário

Sim

Utilização

Primeiro, instancie um objeto do tipo FaceAuthenticator:

let faceAuthenticator = FaceAuthenticator.Builder(mobileToken: "mobileToken")
    // veja a tabela abaixo
    .build()

FaceAuthenticator.Builder

Parâmetro

Obrigatório?

String mobileToken

Token de uso associado à sua conta CAF

Sim

.setPeopleId(_ peopleId: String)

Identificador do usuário no qual está registrada a face do usuário que realizará o facematch. Atualmente, esse valor aceita apenas o CPF do usuário

Sim

.setAnalyticsSettings(useAnalytics: Bool)

Habilita/desabilita a coleta de dados para analytics

Não. O padrão é true

.setStabilitySensorSettings(message: String?, stabilityThreshold: Double?)

Altera as configurações padrão do sensor de estabilidade. O limite deste sensor está na faixa das duas últimas acelerações coletadas do dispositivo.

Não. O padrão é "Mantenha o telefone parado" e 0,3, respectivamente

.setLayout(layout: PassiveFaceLivenessLayout)

Altera as máscaras do documento para sucesso, falha e normal.

Também permite alterar os botões de som e cancelar, que ficam no topo da tela

Não

.setColorTheme(color: UIColor)

Altere a cor dos botões de som e cancelar que ficam no topo da tela. Também altere a cor dos botões do popup, exibidos antes de cada documento.

Não

.enableSound(enableSound: Bool)

Habilita/desabilita os sons e o ícone de som no SDK

Não. O padrão é true

.setNetworkSettings(requestTimeout:TimeInterval)

Altere as configurações padrão de rede

Não. O padrão é 60 (segundos)

.setImageCaptureSettings(beforePictureInterval: TimeInterval!, enableManualCapture: Bool, timeManualCapture: TimeInterval)

Permite definir a captura por imagem. O atributo beforePictureInterval define o tempo que o usuário deve permanecer com o rosto encaixado na máscara. O enableManualCapture atributo habilita ou desabilita a captura manual. E timeManualCapture define o momento em que a captura manual será habilitada.

Não. O padrão é habilitado. Para beforePictureInterval, o padrão é 2 (segundos). Para enableManualCapture o padrão é true e para timeManualCapture o padrão é 10 (segundos).

.setVideoCaptureSettings(time: TimeInterval)

Método de configuração de captura de vídeo

Não

.setEyesClosedSettings(threshold: Double, isEnable: Bool, errorMessage: String)

Permite personalizar as configurações de validação de olhos fechados do SDK. O método recebe como parâmetro isEnable para habilitar ou desabilitar a validação, limite, valor entre 0,0 e 1,0, e errorMessage, para definir a mensagem caso olhos fechados sejam detectados.

Não. O padrão é true, 0,5 é "Não use óculos escuros e mantenha os olhos abertos".

.setStage(stage: CAFStage)

Permite escolher o ambiente em que o SDK será executado (produção, beta). O método recebe como parâmetro um enum CAFStage para selecionar o ambiente:

Não. O padrão é .PROD

Enum

Descrição

.PROD

Usará a Trust Platform produção para registrar as execuções do SDK.

.BETA

Usará a Trust Platform beta para registrar as execuções do SDK.

Depois de criar o FaceAuthenticator objeto de tipo, você pode iniciar o FaceAuthenticatorController passando-o como parâmetro no construtor:

Obtendo o resultado

Para obter o resultado, você deve implementar o FaceAuthenticatorControllerDelegate delegate no seu controlador:

FaceAuthenticatorResult

Parâmetro

Pode ser nulo?

authenticated: Bool

Indicador que informa se a selfie do usuário passou no facematch com a foto armazenada no servidor da CAF com o respectivo CPF

Não

signedResponse: String

Resposta assinada do servidor da CAF que realizou o facematch. Use este parâmetro se quiser uma camada extra de segurança, verificando se a assinatura da resposta não está quebrada, o que pode ser causado por uma requisição interceptada. Se estiver quebrada, há uma forte indicação de interceptação da requisição

Sim, em caso de erro

trackingId: String?

Identificador desta execução em nossos servidores. Se possível, salve este campo e envie-o para nossa API. Dessa forma, teremos mais dados sobre como o usuário se comportou durante a execução

Sim, se o usuário definir useAnalytics = false ou as chamadas de analytics não funcionarem

lensFacing: Int

Define o lado da câmera que foi usado. Use FaceAuthenticatorResult.LENS_FACING_FRONT ou FaceAuthenticatorResult.LENS_FACING_FRONT para validar.

Não

FaceAuthenticatorFailure

Superclasse que leva ao encerramento do SDK. Para descobrir qual foi o motivo, identifique qual classe de objeto tem o isKindOfClass() método, equivalente a instanceof em Java e is em Dart:

isKindOfClass()

Descrição

Exemplo

InvalidTokenReason

O token informado não é válido para o produto correspondente

Parametrize "test123" como token no builder do SDK

PermissionReason

Falta alguma permissão obrigatória para executar o SDK

Iniciar o DocumentDetector sem permissão de câmera concedida

NetworkReason

Falha na conexão com a internet

O usuário estava sem internet durante o facematch no FaceAuthenticator

ServerReason

Quando uma requisição do SDK recebe um código de status de falha

Em teoria, isso não deveria acontecer. Se acontecer, nos avise!

StorageReason

Não há espaço no armazenamento interno do dispositivo do usuário

Quando não há espaço no armazenamento interno ao capturar a foto do documento

InvalidFaceReason

Não há registro de face para o peopleId

Quando o usuário se autentica com um peopleId que não possui registro de face

Exemplos

Personalizando o layout

Você pode personalizar o layout criando um objeto do tipo FaceAuthenticatorLayout e passando-o como parâmetro para o FaceAuthenticatorBuilder:

Atualizado