Authenteq API Documentation
  • Introduction
  • Create an Account
  • Documentation
    • Change Log
      • Mobile SDK
      • Web and API
    • Migration Guides
      • Mobile SDK 1.63 & WebIDV
      • Multi-Document Flow
    • Version Support
  • Mobile SDK
    • iOS
      • iOS Requirements
      • Installation
      • Identification
        • Identification Result
        • Document Identification Result
      • Face Authentication
      • Errors
      • Customization
    • Android
      • Android Requirements
      • Installation
      • Identification
        • Identification Result
        • Document Identification Result
      • Face Authentication
      • Customization
    • React Native
      • iOS
      • Android
    • Flutter
      • iOS
      • Android
    • Authentication Token
    • UI Customization
    • Examples
  • Web
    • Web Overview
    • Getting Started
    • How to Integrate Web?
    • Examples
    • API Reference
  • Export
    • Export Overview
    • API Reference
  • Webhook
    • Webhook Overview
  • AML
    • AML Overview
    • API Reference
  • Verification Links
    • Verification Links Overview
  • Recognition
    • Recognition Overview
    • API Reference
Powered by GitBook
On this page
  • Implementation
  • Example to Start an Identification
  • Start an Identification providing authentication Token

Was this helpful?

  1. Mobile SDK
  2. iOS

Identification

Explains how to start an identity verification

PreviousInstallationNextIdentification Result

Last updated 2 years ago

Was this helpful?

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 . 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)
  }
}

@import AuthenteqFlow;

@interface ExampleViewController: UIViewController <AuthenteqIdentificationDelegate>
@end

@implementation ExampleViewController

- (void)identification {
  IdentificationParams *params = [[IdentificationParams alloc] 
    initWithClientId:@"<YOUR CLIENT ID>"
        clientSecret:@"<YOUR CLIENT SECRET>"
              flowId:@"<flow ID>"];
  
  UIViewController *viewController = [[AuthenteqFlow instance] 
    identificationViewControllerWith:params
                            delegate:self];

  viewController.modalPresentationStyle = UIModalPresentationFullScreen;
  [self presentViewController:viewController animated:true completion:nil];
}

#pragma MARK - AuthenteqIdentificationDelegate

- (void)authenteqDidFinishIdentificationWith:(IdentificationResult *)result {
  // Handle result
  [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
}

- (void)authenteqDidFailIdentificationWith:(enum AuthenteqFlowError)error {
  // Handle error
  [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
}

@end

Start an Identification providing authentication Token

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)
  }
}

@import AuthenteqFlow;

@interface ExampleViewController: UIViewController <AuthenteqIdentificationDelegate>
@end

@implementation ExampleViewController

- (void)identification {
  UIViewController *viewController =
  [[AuthenteqFlow instance]
   identificationViewControllerWith:@"<YOUR CLIENT ID>"
   token:@"<AUTHENTICATION TOKEN>"
   delegate:self];
  [self presentViewController:viewController animated:true completion:nil];
}

#pragma MARK - AuthenteqIdentificationDelegate

- (void)authenteqDidFinishIdentificationWith:(IdentificationResult *)result {
  // Handle result
  [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
}

- (void)authenteqDidFailIdentificationWith:(enum AuthenteqFlowError)error {
  // Handle error
  [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
}

@end

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

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

Customer Dashboard
Authentication Token