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 a Face Authentication
  • Get Face Authentication Result
  • Obtain the result of a face authentication

Was this helpful?

  1. Mobile SDK
  2. iOS

Face Authentication

Explains how to integrate a face authentication

PreviousDocument Identification ResultNextErrors

Last updated 2 years ago

Was this helpful?

To perform a face authentication it is required to have already an "Identification" and its verification ID. The process consist in a liveness check of the user and a final check to verify the match with the identification.

Implementation

  • Make your class conform to AuthenteqFaceAuthenticationDelegate 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 a Face Authentication

Please update the below code with your Client ID and Client Secret from your .

We suggest to use the token authentication in production environment.

We suggest to app the following code to the relevant Storyboard or ViewController.

import AuthenteqFlow

class ExampleViewController: UIViewController {

  func faceAuthentication() {
    let faceAuthenticationParams = FaceAuthenticationParams(
      clientId: "< YOUR CLIENT ID >",
      clientSecret: "< YOUR CLIENT SECRET >",
      verificationId: verificationId
    )
    let viewController = AuthenteqFlow.instance.faceAuthenticationViewController(
      with: faceAuthenticationParams, 
      delegate: self
    )
    viewController.modalPresentationStyle = .fullScreen
    present(viewController, animated: true)
  }
}  
  
extension ExampleViewController: AuthenteqFaceAuthenticationDelegate {

  func authenteqDidFinishFaceAuthentication(with code: String) {
    presentedViewController?.dismiss(animated: true)
    // Check face authentication result with the CODE provided
  }

  func authenteqDidFailFaceAuthentication(with error: AuthenteqFlowError) {
    // Handle error
    presentedViewController?.dismiss(animated: true)
  }
}
@import AuthenteqFlow;

@interface ExampleViewController: UIViewController <AuthenteqFaceAuthenticationDelegate>
@end

@implementation ExampleViewController

- (void)faceAuthentication {
  FaceAuthenticationParams *params = 
  [[FaceAuthenticationParams alloc] initWithClientId:@"<YOUR CLIENT ID>"
                                        clientSecret:@"<YOUR CLIENT SECRET>"
                                      verificationId:_verificationId];
  
  UIViewController *viewController = 
  [[AuthenteqFlow instance] faceAuthenticationViewControllerWith:params
                                                        delegate:self];
  
  viewController.modalPresentationStyle = UIModalPresentationFullScreen;
  [self presentViewController:viewController animated:true completion:nil];
}

#pragma MARK - AuthenteqFaceAuthenticationDelegate

- (void)authenteqDidFinishFaceAuthenticationWith:(nonnull NSString *)code {
  [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
  NSLog(@"Did finish face authentication with code:\n%@", code);
  // Check face authentication result with the CODE provided
}

- (void)authenteqDidFailFaceAuthenticationWith:(enum AuthenteqFlowError)error {
  // Handle error
  [self.presentedViewController dismissViewControllerAnimated:true completion:nil];
  NSLog(@"Did finish face authentication with error: %ld", (long) error);
}

@end
let faceAuthenticationParams = FaceAuthenticationParams(
      clientId: "< YOUR CLIENT ID >",
      token: "< TOKEN >",
      verificationId: verificationId
)
let viewController = AuthenteqFlow.instance.faceAuthenticationViewController(
      with: faceAuthenticationParams, 
      delegate: self
)
present(viewController, animated: true)
FaceAuthenticationParams *params = 
  [[FaceAuthenticationParams alloc] initWithClientId:@"< YOUR CLIENT ID >"
                                               token:@"< TOKEN >"
                                      verificationId:_verificationId];
  
UIViewController *viewController = 
  [[AuthenteqFlow instance] faceAuthenticationViewControllerWith:params
                                                        delegate:self];
                                                        
[self presentViewController:viewController animated:true completion:nil];

Authentication token can only be used for a single operation. Always generate a new token before start a new face authentication.

Get Face Authentication Result

With the code obtained from authenteqDidFinishFaceAuthentication it is possible to get the face authentication result using the following API:

Obtain the result of a face authentication

GET https://api.app.authenteq.com/mobile-sdk/face-authentication-result

This endpoint is authorized with Basic Authorization. You should use your Client ID and Client Secret from the Customer Dashboard as the credentials.

Query Parameters

Name
Type
Description

code*

string

The code provided at the conclusion of SDK face authentication

Headers

Name
Type
Description

Authorization*

string

Your client credentials combined with a colon separator, base64-encoded and prefixed with "Basic ".

{
  "accessToken": "81e4cbce-cdad-11eb-8fc3-784f4385af2b"
}
{
  "errorCode": "API_KEYS_MISSING",
  "errorMessage": "No API Keys in the Authorization header"
{
  "errorCode": "ACCOUNT_DEACTIVATED",
  "errorMessage": "Account deactivated. Please contact your Authenteq Sales Representative in order to keep using this service"
}huiHjio

When successful the response will contain a single boolean property named success:

{
    "success": true
}

Authentication Token can be obtained with face authentication and then specified with the FaceAuthenticationParams as the following code:

Customer Dashboard
API