VaultMobileSDK  18R3
iOS framework for Vault API
VEVVaultAuth.h
Go to the documentation of this file.
1 
7 #import <Foundation/Foundation.h>
8 #import <UIKit/UIKit.h> // OAuth needs UIViewController
9 
10 
11 NS_ASSUME_NONNULL_BEGIN
12 
22 @interface VEVVault : NSObject <NSCoding>
23 
26 @property (nonatomic) NSUInteger Id;
27 
30 @property (copy, nonatomic) NSString* name;
31 
34 @property (copy, nonatomic) NSURL* URL;
35 
36 - (instancetype)initWithId:(NSUInteger)Id name:(NSString*)name url:(NSString*)url;
37 
38 @end
39 
46 @interface VEVUser : NSObject <NSCoding>
47 
50 @property (strong, nonatomic, readonly) NSString* username;
51 
54 @property (strong, nonatomic, readonly, nullable) NSArray<VEVVault*>* vaults;
55 
58 @property (nonatomic, readonly) NSUInteger userId;
59 
60 - (instancetype)initWithUsername:(NSString*)username vaults:(nullable NSArray<VEVVault*>*)vaults userId:(NSUInteger)userId;
61 
62 @end
63 
64 
75 typedef void (^VEVVaultAuthLoginResultHandler)(VEVUser * _Nullable user,
76  NSError * _Nullable error);
77 
87 typedef void (^VEVVaultAuthRefreshUserResultHandler)(VEVUser * _Nullable user,
88  NSError * _Nullable error);
89 
96 typedef void (^VEVVaultAuthLogoutHandler)(VEVUser * user);
97 
105 @protocol VEVPasscodeManagerDelegate <NSObject>
106 
107 @optional
108 
112 - (void)unlockWasSuccessful;
113 @end
114 
217 @interface VEVVaultAuth : NSObject
218 
222 @property (copy, nonatomic, nullable) VEVUser* currentUser;
223 
227 @property (weak, nonatomic) id<VEVPasscodeManagerDelegate> passcodeDelegate;
228 
231 + (instancetype)sharedInstance;
232 
248 - (void)authenticateWithHandler:(nullable VEVVaultAuthLoginResultHandler)handler;
249 
254 - (void)logout;
255 
264 - (void)setLogoutHandler:(nullable VEVVaultAuthLogoutHandler)handler;
265 
271 - (BOOL)showLockScreen;
272 
277 - (BOOL)isShowingLockScreen;
278 
287 - (void)refreshUserWithHandler:(nullable VEVVaultAuthRefreshUserResultHandler)handler;
288 
307 - (void)enableBiometricAuthentication:(BOOL)enable;
308 
316 - (BOOL)isBiometricAuthenticationEnabled;
317 
318 @end
319 
320 NS_ASSUME_NONNULL_END
An object type that refers to a Vault user. This is used primarily to track information about the cur...
Definition: VEVVaultAuth.h:46
void(^ VEVVaultAuthLoginResultHandler)(VEVUser *_Nullable user, NSError *_Nullable error)
The block type used to call back to the application after a login attempt has succeeded or failed...
Definition: VEVVaultAuth.h:75
void(^ VEVVaultAuthLogoutHandler)(VEVUser *user)
The block type used to call back to the application when the user is logged out.
Definition: VEVVaultAuth.h:96
An object type that refers to a particular Vault. VEVVaultAuth::currentUser tracks the authenticated ...
Definition: VEVVaultAuth.h:22
NSUInteger Id
The Vault ID.
Definition: VEVVaultAuth.h:26
A singleton class that manages Vault authentication.
Definition: VEVVaultAuth.h:217
NSString * name
The Vault name.
Definition: VEVVaultAuth.h:30
NSURL * URL
The Vault DNS.
Definition: VEVVaultAuth.h:34
void(^ VEVVaultAuthRefreshUserResultHandler)(VEVUser *_Nullable user, NSError *_Nullable error)
The block type used to call back to the application when refreshing the current user&#39;s information fr...
Definition: VEVVaultAuth.h:87