DefaultIDPSession
public class DefaultIDPSession : IDPSession
IDPSession acts as an interactor/mediator for the IDPClient and IDPStorage
-
Initialize a DefaultIDPSession
Declaration
Swift
public convenience init( config: Configuration, storage: IDPStorage, schedulers: IDPSchedulers, httpClient: HTTPClient, trustStoreSession: TrustStoreSession, extAuthRequestStorage: ExtAuthRequestStorage )
Parameters
config
the IDP configuration
storage
the IDP Storage
schedulers
the Schedulers to use for internal operations
httpClient
a
HTTPClient
for performing the network operationstrustStoreSession
TrustStoreSession
that is used to check the validity and trust of the discoveryDocument -
Whether the session has access to a (valid) authenticated session (e.g. token)
Declaration
Swift
public var isLoggedIn: AnyPublisher<Bool, IDPError> { get }
-
Declaration
Swift
public func invalidateAccessToken()
-
Declaration
Swift
public func requestChallenge() -> AnyPublisher<IDPChallengeSession, IDPError>
-
Declaration
Swift
public func verify(_ signedChallenge: SignedChallenge) -> AnyPublisher<IDPExchangeToken, IDPError>
-
Declaration
Swift
public func exchange( token exchange: IDPExchangeToken, challengeSession: ChallengeSession, idTokenValidator: @escaping (TokenPayload.IDTokenPayload) -> Result<Bool, Error> ) -> AnyPublisher<IDPToken, IDPError>
-
Declaration
Swift
public func pairDevice(with registrationData: RegistrationData, token: IDPToken) -> AnyPublisher<PairingEntry, IDPError>
-
Declaration
Swift
public func listDevices(token: IDPToken) -> AnyPublisher<PairingEntries, IDPError>
-
Declaration
Swift
public func altVerify(_ signedChallenge: SignedAuthenticationData) -> AnyPublisher<IDPExchangeToken, IDPError>
-
Declaration
Swift
public func loadDirectoryKKApps() -> AnyPublisher<KKAppDirectory, IDPError>
-
Declaration
Swift
public func startExtAuth(entry: KKAppDirectory.Entry) -> AnyPublisher<URL, IDPError>
-
IDP Configuration
See moreDeclaration
Swift
public struct Configuration