Combate à Fraude Docs

Combate à Fraude Docs

    ›iOS

    Introdução

    • Início
    • Token de acesso
    • Checando as respostas assinadas
    • Checklist de integração

    Android

    • Primeiros passos
    • DocumentDetector
    • PassiveFaceLiveness
    • FaceAuthenticator
    • AddressCheck
    • DeviceAnalyser
    • Customização
    • Resultado de um SDK
    • Reduzindo o tamanho dos SDKs
    • Configuração dos sensores
    • Configuração de proxy
    • Configuração de preview
    • Formulário de segurança Google
    • Analytics
    • Notas de atualização

    iOS

    • Primeiros passos
    • DocumentDetector
    • PassiveFaceLiveness
    • FaceAuthenticator
    • AddressCheck
    • DeviceAnalyser
    • Customização
    • Configuração de proxy
    • Notas de atualização

    Flutter

    • Primeiros passos
    • DocumentDetector
    • PassiveFaceLiveness
    • FaceAuthenticator
    • Notas de atualização

    React Native

    • Primeiros passos

    Ionic

    • Primeiros passos
    • DocumentDetector
    • PassiveFaceLiveness
    • FaceAuthenticator
    • Notas de atualização

    Xamarin

    • Primeiros passos

    JavaScript

    • Primeiros passos
    • DocumentDetector
    • PassiveFaceLiveness
    • FaceAuthenticator
    • Erros do SDK
    • Customização
    • Eventos do SDK
    • Segurança
    • Notas de atualização (DocumentDetector)
    • Notas de atualização (PassiveFaceLiveness)
    • Notas de atualização (FaceAuthenticator)

    API

    • Primeiros passos
    • Assinatura de respostas
    • Registro Facial
    • Autenticação Facial
    • Prova de vida passiva
    • Autenticação de dispositivos
    • Comprovante de endereço digital

    FaceAuthenticator

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

    Permissões necessárias

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

    PermissãoMotivoObrigatória?
    Privacy - Camera Usage DescriptionPara capturar a selfie do usuárioSim

    Utilização

    Primeiro, instancie um objeto do tipo FaceAuthenticator:

    let faceAuthenticator = FaceAuthenticator.Builder(mobileToken: "mobileToken")
        // see the table below
        .build()
    

    FaceAuthenticator.Builder

    ParâmetroObrigatório?
    String mobileToken

    Token de utilização associado à sua conta da CAF
    Sim
    .setPeopleId(_ cpf: String)

    Identificador do usuário no qual está cadastro o rosto do usuário que será realizado o facematch. Atualmente, esse valor só aceita o CPF do usuário
    Sim
    .setAnalyticsSettings(useAnalytics: Bool)

    Habilita/desabilita a coleta de dados para o analytics
    Não, o padrão é true
    .setStabilitySensorSettings(message: String?, stabilityThreshold: Double?)

    Altera as configurações padrão do sensor de estabilidade. O limiar desse sensor é na variação das últimas duas acelerações coletadas do dispositivo.
    Não. O padrão é "Mantenha o celular parado" e 0.3, respectivamente
    setLayout(layout: PassiveFaceLivenessLayout)

    Troca as máscaras do documento de 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)

    Alterar a cor dos botões de som e cancelar que ficam no topo da tela. Também altera a cor do botão dos popups, inflados antes de cada documento.
    Não.
    .enableSound(enableSound: Bool)

    Habilita/desabilita sons e o ícone de som no SDK
    Não. O padrão é true
    .setNetworkSettings(requestTimeout: TimeInterval)

    Altera as configurações de rede padrão
    Não. O padrão é 60 (segundos)
    .setImageCaptureSettings(beforePictureInterval: TimeInterval!, enableManualCapture: Bool, timeManualCapture: TimeInterval)

    Permite configurar a captura por imagem. O atributo beforePictureInterval define o tempo que o usuário deve ficar com a face encaixada na máscara. O atributo enableManualCapture habilita ou desabilita a captura manual. E timeManualCapture define o tempo em que a captura manual será ativada.
    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 para configuração de captura por vídeo
    Não.
    .setEyesClosedSettings(threshold: Double, isEnable: Bool, errorMessage: String)

    Permite customizar as configurações de validação de olhos abertos do SDK. O método espera como parâmetro isEnable para habilitar ou não a validação, threshold, valor entre 0.0 e 1.0, e errorMessage, para definir a mensagem para caso sejam detectados olhos fechados.
    Não. O padrão é true, 0.5 é "Não use óculos escuros e mantenha os olhos abertos"

    Após a criação do objeto do tipo FaceAuthenticator, você pode iniciar o FaceAuthenticatorController passando esse objeto por parâmetro no construtor:

    let faceAuthController = FaceAuthenticatorController(faceAuthenticator: faceAuthenticator)
    faceAuthController.faceAuthenticatorDelegate = self
    present(faceAuthController, animated: true, completion: nil)
    

    Obtendo o resultado

    Para obter o resultado, você deve implementar o delegate FaceAuthenticatorControllerDelegate em seu controller:

    class YouController: UIViewController, FaceAuthenticatorControllerDelegate{
    
        // MARK: Delegates Face Auht
        func faceAuthenticatorController(_ faceAuthenticatorController: FaceAuthenticatorController, didFinishWithResults results: FaceAuthenticatorResult) {
            //Called when the process was successfully executed
            //The result variable contains the data obtained
        }
        
        func faceAuthenticatorControllerDidCancel(_ faceAuthenticatorController: FaceAuthenticatorController) {
            //Called when the process was canceled by the user
        }
        
        func faceAuthenticatorController(_ faceAuthenticatorController: FaceAuthenticatorController, didFailWithError error: FaceAuthenticatorFailure) {
            //Called when the process terminate with an error
            //The error variable contains info about error
        }
    
    }
    
    

    FaceAuthenticatorResult

    ParâmetroPode ser nulo?
    authenticated: Bool

    Flag que indica 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. Utilize esse parâmetro caso queira uma camada extra de segurança verificando se a assinatura da resposta não está quebrada, provocada por uma interceptação da requisição. Se estiver quebrada, há um grande indício de interceptação da requisição
    Sim, em caso de erro
    trackingId: String?

    Identificador dessa execução em nossos servidores. Se possível, salve este campo e mande-o junto para nossa API. Assim, teremos mais dados de como o usuário se comportou durante a execução
    Sim, caso o usuário configure useAnalytics = false ou as chamadas de analytics não funcionem
    lensFacing: Int

    Define a face da câmera que foi utilizada. Utilize FaceAuthenticatorResult.LENS_FACING_FRONT ou FaceAuthenticatorResult.LENS_FACING_FRONT para validar.
    Não

    FaceAuthenticatorFailure

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

    isKindOfClass()DescriçãoExemplo
    InvalidTokenReasonO token informado não é válido para o produto correspondenteParametrizar "test123" como token no builder do SDK
    PermissionReasonEstá faltando alguma permissão obrigatória para executar o SDKIniciar o DocumentDetector sem a permissão de câmera concedida
    NetworkReasonFalha de conexão com a internetO usuário ficou sem internet durante o facematch no FaceAuthenticator
    ServerReasonQuando uma requisição do SDK recebe um status code de falhaEm teoria, não deve acontecer. Se acontecer, comunique-nos!
    StorageReasonNão há espaço no armazenamento interno do dispositivo do usuárioQuando não há espaço no armazenamento interno durante a captura da foto do documento
    InvalidFaceReasonNão existe um registro facial para o peopleId informadoQuando o usuário realizar uma autenticação com um peopleId que não possui registro facial

    Exemplos

    Customizando o layout

    Você pode customizar o layout criando um objeto do tipo FaceAuthenticatorLayout e passando por parâmetro no FaceAuthenticatorBuilder:

    let layout = FaceAuthenticatorLayout()
    
    layout.changeMaskImages(
        greenMask: UIImage(named: "my_green_mask"),
        whiteMask: UIImage(named: "my_white_mask"),
        redMask: UIImage(named: "my_red_mask"))
            
    layout.changeSoundImages(soundOn: UIImage(named: "my_sound_on_image"),
                             soundOff: UIImage(named: "my_sound_off_image"))
    
    layout.closeImage = UIImage(named: "my_close_image")
    layout.buttonSize = CGFloat(50)
    layout.buttonContentMode = .scaleAspectFill
    
    let faceAuthenticatorConfiguration = FaceAuthenticatorBuilder(apiToken: "API_TOKEN")
        .setLayout(layout: layout)
        .build()
    
    
    ← PassiveFaceLivenessAddressCheck →
    • Permissões necessárias
    • Utilização
      • FaceAuthenticator.Builder
    • Obtendo o resultado
      • FaceAuthenticatorResult
      • FaceAuthenticatorFailure
    • Exemplos
      • Customizando o layout
    Combate à Fraude Docs
    2021 © Combate à Fraude - Todos os direitos reservados.
    COMBATEAFRAUDE TECNOLOGIA DA INFORMACAO LTDA CNPJ: 34.102.645/0001-57
    R. Tiradentes, 1077 - 5º andar - Centro, Venâncio Aires - RS, CEP 95800-000