iOS Silent Authenticator

HYPR SDK for iOS

Silent Authenticator always returns a success for registration, authentication (assuming there is a user registered with the silent authenticator), and deregistration (assuming there is a user enrolled with the Silent Authenticator).

Integration Guide

  1. Embed and link the Frameworks.
660
  1. Import the Authenticator libraries.
#import <HYPRCore/HYPRCore.h>
#import <HYPRSilent/HYPRSilent.h>
  1. Enable the Silent Authenticator.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [HYPRUAFClient registerAuthenticatorModule:[HYPRSilentAsm class]];
}

Usage

FIDO Client Adapter

Registration

// Reg 
self.fidoRegPayload = [NSString stringWithFormat:@"[{\"header\":{\"op\":\"Reg\",\"appID\":\"\",\"upv\":{\"major\":1,\"minor\":0},\"serverData\":\"HyprServer\"},\"challenge\":\"NHFkbTNoaDQ3NXBzazY0dWMyZGVnajNiZXU\",\"username\":\"\%@\",\"policy\":{\"accepted\":[ [{\"aaid\":[\"0045#1026\",\"0045#1025\"]}], [{\"aaid\":[\"0045#1025\",\"0045#1026\"]}]],\"disallowed\":[{\"aaid\":[\"0045#0099\"]}]}}]", self.username];
[self.fidoClientAdapter registerRequest:self.fidoRegPayload completion:^(NSString * _Nullable resultString, NSError * _Nullable error) {
  // Handle success or fail based off error
}];

Authentication

// Auth
self.fidoAuthPayload = @"[{\"header\":{\"op\":\"Auth\",\"appID\":\"\",\"upv\":{\"major\":1,\"minor\":0},\"serverData\":\"HyprServer\"},\"challenge\":\"dTk2dTNnNjY4djlmZXVxY3ZzMGplYmYzYnA\",\"policy\":{\"accepted\":[[{\"aaid\":[\"0045#1025\",\"0045#1026\"]}]],\"disallowed\":[{\"aaid\":[\"0045#0099\"]}]}}]";
[self.fidoClientAdapter authenticateRequest:self.requestString username:self.username completion:^(NSString * _Nullable resultString, NSError * _Nullable error) {
  // Handle success or fail based off error
}];

Deregistration

// Dereg 
self.fidoDeregPayload = @"";
[self.fidoClientAdapter deregisterRequest:self.fidoDeregPayload username:self.username completion:^(NSString * _Nullable resultString, NSError * _Nullable error) {
  // Handle success or fail based off error
}];

User Agent

Registration

// Reg 
[[HYPRUserAgent sharedInstance] registerUserWithName:nil action:<Policy with Silent Authenticator> completion:nil];

Authentication

// Auth
[[HYPRUserAgent sharedInstance] authenticateUser:nil action:<Policy with Silent Authenticator> completion:nil];

Deregistration

// Dereg
[[HYPRUserAgent sharedInstance] deregisterUser:nil completion:nil]