Identification

Explains how to start an identity verification

The standard process allows your users to take a photo of either their Passport, National ID or Drivers License. You can customize this by limiting the types of documents you accept (i.e. only Passports) or requesting up to two different documents (i.e. first a Drivers License, then Passport or National ID)

Implementation

  • Make your class conform to AuthenteqIdentificationDelegate protocol

  • Use your client keys to create a UIViewController from Authenteq SDK

  • Present returned UIViewController modally

  • Handle result in your delegate implementation

Example to Start an Identification

Please update the below code with your Client ID and Client Secret from your Customer Dashboard. To support multiple documents and other flow settings also use the Customer Dashboard.

Flow ID specify which verification flow to use. Flow IDs are defined in the Customer Dashboard, section Verification Flow.

We suggest adding this code to the relevant Storyboard or ViewController.

import AuthenteqFlow

class ExampleViewController: UIViewController {

  func identification() {
    let identificationParams = IdentificationParams(
      clientId: "<YOUR CLIENT ID>",
      clientSecret: "<YOUR CLIENT SECRET>",
      flowId: "<flow ID>" // optional
    )
    let viewController = AuthenteqFlow.instance.identificationViewController(
      with: identificationParams,
      delegate: self
    )
    viewController.modalPresentationStyle = .fullScreen
    present(viewController, animated: true)
  }
}  
  
extension ExampleViewController: AuthenteqIdentificationDelegate {

  func authenteqDidFinishIdentification(with result: IdentificationResult) {
    // Handle result
    presentedViewController?.dismiss(animated: true)
  }

  func authenteqDidFailIdentification(with error: AuthenteqFlowError) {
    // Handle error
    presentedViewController?.dismiss(animated: true)
  }
}

Start an Identification providing authentication Token

Identification can be started by providing the authentication token obtained separately (see section Authentication Token for details).

The optional "Flow ID" can be specified when requesting the authentication token.

Compare to the previous example, just replace clientSecret parameter with Token as described in the following example:

import AuthenteqFlow

class ExampleViewController: UIViewController {

  func identification() {
    let identificationParams = IdentificationParams(
      clientId: "<YOUR CLIENT ID>",
      token: "<AUTHENTICATION TOKEN>"
    )
    let viewController = AuthenteqFlow.instance.identificationViewController(
      with: identificationParams,
      delegate: self
    )
    viewController.modalPresentationStyle = .fullScreen
    present(viewController, animated: true)
  }
}  
  
extension ExampleViewController: AuthenteqIdentificationDelegate {

  func authenteqDidFinishIdentification(with result: IdentificationResult) {
    // Handle result
    presentedViewController?.dismiss(animated: true)
  }

  func authenteqDidFailIdentification(with error: AuthenteqFlowError) {
    // Handle error
    presentedViewController?.dismiss(animated: true)
  }
}

Authentication token can only be used for a single verification. Always generate a new token before start a new verification.

Last updated