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.
- 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
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.
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
}
Last modified 1yr ago