NevisAuthenticationSession
public class NevisAuthenticationSession
extension NevisAuthenticationSession: InBandOperations
extension NevisAuthenticationSession: InBandOperationsMultiAccount
extension NevisAuthenticationSession: OutOfBandOperations
extension NevisAuthenticationSession: OutOfBandOperationsMultiAccount
The NevisAuthenticationSession
class represents the main entry point to the NEVIS Mobile Authentication SDK and FIDO UAF capability.
You use instances of this class to perform operations supported by the SDK, exposed through different protocols.
Types of Operations
The InBandOperations
protocol specifies the standard FIDO UAF 1.1 operations, also described as FIDO operations.
In addition, the SDK also supports operations that are not standard FIDO service but proprietary NEVIS Mobile Authentication backend functionality, built on top of the FIDO standards.
Those features include out-of-band operations and dispatch target management, defined by the OutOfBandOperations
and DispatchTargetOperations
protocols, respectively.
-
The configuration that specifies session behavior.
Declaration
Swift
public let configuration: Configuration
-
The queue on which the operation completion handlers are executed.
Declaration
Swift
public let completionQueue: DispatchQueue
-
Creates a session with the specified configuration, delegate, and completion queue.
Declaration
Swift
public init(configuration: Configuration, completionQueue: DispatchQueue = .main) throws
Parameters
dispatchTargetConfiguration
The configuration that specifies SDK behavior and communication with a NEVIS Mobile Authentication backend.
completionQueue
The queue on which the operation completion handlers are executed. Completion handlers are executed on the main queue by default.
-
Declaration
Swift
public func openSettings(userInteractionDelegate openSettingsUserInteractionDelegate: OpenSettingsUserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
register(username:
dispatchTargetConfiguration: authorizationProvider: userInteractionDelegate: completion: ) Declaration
Swift
public func register(username: Username, dispatchTargetConfiguration: DispatchTargetConfiguration?, authorizationProvider: AuthorizationProvider?, userInteractionDelegate: UserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func deregisterAuthenticator(authorizationProvider: AuthorizationProvider?, userInteractionDelegate: DeregistrationUserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func deregisterDevice(authorizationProvider: AuthorizationProvider?, userInteractionDelegate: DeregistrationUserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func authenticate(sessionProvider: SessionProvider?, userInteractionDelegate: UserInteractionDelegate, completion handler: @escaping (Result<AuthorizationProvider, Error>) -> ())
-
Declaration
Swift
public func openSettings(username: Username, userInteractionDelegate openSettingsUserInteractionDelegate: OpenSettingsUserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func deregisterAuthenticator(username: Username, authorizationProvider: AuthorizationProvider?, userInteractionDelegate: DeregistrationUserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func deregisterAccount(username: Username, authorizationProvider: AuthorizationProvider?, userInteractionDelegate: DeregistrationUserInteractionDelegate, completion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func authenticate(username: Username, sessionProvider: SessionProvider?, userInteractionDelegate: UserInteractionDelegate, completion handler: @escaping (Result<AuthorizationProvider, Error>) -> ())
-
Declaration
Swift
public func process(payload: OutOfBandPayload, dispatchTargetConfiguration: DispatchTargetConfiguration?, userInteractionDelegate: UserInteractionDelegate, completion handler: @escaping (Result<Operation, Error>) -> ())
-
Declaration
Swift
public func updateDispatchTarget(identifier: String?, name: String?, onCompletion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func deleteDispatchTarget(authorizationProvider: AuthorizationProvider?, onCompletion handler: @escaping (Result<(), Error>) -> ())
-
Declaration
Swift
public func deleteDispatchTarget(for username: Username, authorizationProvider: AuthorizationProvider?, onCompletion handler: @escaping (Result<(), Error>) -> ())
-
A configuration object that defines behavior and policies for a NEVIS Authentication session.
See moreDeclaration
Swift
struct Configuration : Codable