Face Authentication

Explains how to integrate a face authentication
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 Customer Dashboard.
We suggest to use the token authentication in production environment.
We suggest to app the following code to the relevant Storyboard or ViewController.
Swift
Objective-C
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
Authentication Token can be obtained with face authentication API and then specified with the FaceAuthenticationParams as the following code:
Swift
Objective-C
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:
get
https://api.app.authenteq.com
/mobile-sdk/face-authentication-result
Obtain the result of a face authentication
When successful the response will contain a single boolean property named success:
{
"success": true
}