Package-level declarations

Types

Link copied to clipboard
@Serializable
data class AccessToken(val value: String = "", val tokenType: String? = null, val scope: AccessToken.Scope? = null, val expiresIn: Long = 0, val refreshToken: String? = null, val idToken: String? = null, var expiration: Date? = null, val sessionToken: SSOToken? = null) : Token

Models an OAuth2 access token.

Link copied to clipboard
Interceptor to intercept the received token and persist it.
Link copied to clipboard
Verifier to verify the Access Token is valid or not.
Link copied to clipboard

AppAuth Integration, https://github.com/openid/AppAuth-Android this class provides AppAuth integration and customization

Link copied to clipboard
open class AuthService
Model of an authentication service.
Link copied to clipboard
open class AuthServiceClient
Client to interact with the auth tree APIs
Link copied to clipboard
internal class AuthServiceResponseHandler(val authService: AuthService, listener: NodeListener<SSOToken?>) : ResponseHandler

Implementation for handling AuthService response, and provide feedback to the registered NodeListener

Link copied to clipboard
Link copied to clipboard
internal class CacheEntry<T>(val value: T, ttl: Long)

A Cache entry with time to live, the cached data should consider invalid after expired.

Link copied to clipboard
open class Config
Provide SDK Configuration, most components in the SDK has its default setting, this class allow developer to override the default configuration.
Link copied to clipboard
internal class ConfigHelper

ConfigHelper Provide the helper methods to persist and load the configurations on start of the SDK This class also verify if the configuration changes on the current and previous launch.

Link copied to clipboard

Singleton object that provides application context and current activity.

Link copied to clipboard
open class CookieMarshaller
Class to support marshal and unmarshal of Cookie Object
Link copied to clipboard
object DateSerializer : KSerializer<Date>
Link copied to clipboard
Manage the Single Sign On Token, the token will be encrypted and store to SharedPreferences.
Link copied to clipboard
Default implementation for TokenManager.
Link copied to clipboard
open class DeviceIdentifier
Model of Device Identifier
Link copied to clipboard

A no-op implementation of the FRListener interface that does nothing when the asynchronous operation completes. This can be used when you want to start an asynchronous operation, but don't care about the result.

Link copied to clipboard
Dispatch an event to Observer(s) which listens for the event.
Link copied to clipboard
Interceptor to intercept the received authorization code and exchange to AccessToken.
Link copied to clipboard
open class FRAuth
Model of an FRAuth.
Link copied to clipboard
open class FRDevice
Link copied to clipboard
open class FRLifecycle
Class for handling SDK Lifecycle event.
Link copied to clipboard
Listener to listen for FR SDK Event
Link copied to clipboard
interface FRListener<T>

A listener interface for receiving completion events from asynchronous operations.

Link copied to clipboard
open class FRListenerFuture<T> : FRListener<T> , Future<V>
A Future represents the result of an FRListener
Link copied to clipboard
data class FROptions(val server: Server, val oauth: OAuth, val service: Service, val urlPath: UrlPath, val sslPinning: SSLPinning, val logger: Log, val store: Store)

Manages SDK configuration information

Link copied to clipboard

Option builder to build the SDK configuration information

Link copied to clipboard
open class FRSession
Object which represent the User Session
Link copied to clipboard
open class FRUser
Link copied to clipboard
class FRUserKeys @JvmOverloads constructor(val context: Context, val userKeyService: UserKeyService = UserDeviceKeyService( context))

Manage UserKey that created by the SDK The UserKey are created with DeviceBindingCallback

Link copied to clipboard
Content Provider to register Activity Lifecycle Callbacks and keep track of the last active activity.
Link copied to clipboard
interface Interceptor<T>
Interceptor interface, generic interface for interceptor pattern.
Link copied to clipboard
Follow the Interceptor.Chain and executes each Interceptor in the chain.
Link copied to clipboard
class LazyAssignable<T>(val initializer: () -> T) : ReadWriteProperty<Any?, T>

A delegate class for lazy initialization and assignment.

Link copied to clipboard
open class Listener
Utility to send events to FRListener
Link copied to clipboard
data class Log(val logLevel: Logger.Level? = null, val customLogger: FRLogger? = null)

Data class to set the log level and custom logger configurations

Link copied to clipboard

Logger builder to build the SDK configuration information specific to loggers

Link copied to clipboard
open class Node : Serializable
Link copied to clipboard
Follow the Interceptor.Chain and executes each Interceptor in the chain.
Link copied to clipboard
interface NodeListener<T> : FRListener<T>

Interface for an object that listens to changes resulting from a AuthService.

Link copied to clipboard
abstract class NodeListenerFuture<T> : NodeListener<T> , Future<V>
Link copied to clipboard
data class OAuth(val oauthClientId: String = "", val oauthRedirectUri: String = "", val oauthSignOutRedirectUri: String = "", val oauthScope: String = "", val oauthThresholdSeconds: Long = 0, val oauthCacheSeconds: Long = 0)

Data class for the OAuth configurations

Link copied to clipboard
open class OAuth2
Constants for OAuth
Link copied to clipboard
class OAuth2Client(val clientId: String, val scope: String, val redirectUri: String, val signOutRedirectUri: String, val serverConfig: ServerConfig)

Class to handle OAuth2 related endpoint

Link copied to clipboard

Implementation for handling OAuth2Client response, and provide feedback to the registered FRListener

Link copied to clipboard

Oauth builder to build the SDK configuration information specific to oauth

Link copied to clipboard
Interceptor to intercept the received token and exchange to AccessToken.
Link copied to clipboard
internal object Options
Link copied to clipboard
class PKCE(val codeChallenge: String, val codeChallengeMethod: String, val codeVerifier: String)

Domain object to store PKCE related data.

Link copied to clipboard
class PolicyAdvice(val type: String, val value: String) : Serializable

Domain object for advice. The Advice is received from resource API for Step up authentication

Link copied to clipboard
internal class RemoteDeviceBindingRepository(val serverConfig: ServerConfig = Config.getInstance().serverConfig) : DeviceBindingRepository
Link copied to clipboard
internal class RemoteWebAuthnRepository(val serverConfig: ServerConfig = Config.getInstance().serverConfig) : WebAuthnRepository
Link copied to clipboard
interface ResponseHandler
Link copied to clipboard
internal sealed class Result<out Success, out Failure>

A sealed class representing a result, which can be either Success or Failure.

Link copied to clipboard
Interceptor to intercept the received token and exchange to AccessToken.
Link copied to clipboard
Interceptor to intercept the received token and exchange to AccessToken.
Link copied to clipboard
object ScopeSerializer : KSerializer<AccessToken.Scope>
Link copied to clipboard
class SecureCookieJar(context: Context, singleSignOnManager: SingleSignOnManager?, cacheIntervalMillis: Long?) : CookieJar, OkHttpCookieInterceptor
Link copied to clipboard
A Serializable Cookie Object
Link copied to clipboard
data class Server(val url: String = "", val realm: String = "root", val timeout: Int = 30, val cookieName: String = "iPlanetDirectoryPro", val cookieCacheSeconds: Long = 0)

Data class for the server configurations

Link copied to clipboard

Server builder to build the SDK configuration information specific to server

Link copied to clipboard
open class ServerConfig : NetworkConfig
Manages Server configuration information
Link copied to clipboard
data class Service(val authServiceName: String = "Login", val registrationServiceName: String = "Registration")

Data class for the Service configurations

Link copied to clipboard

Service builder to build the SDK configuration information specific to services

Link copied to clipboard
open class SessionManager
Manage the user session
Link copied to clipboard
internal class SharedPreferencesSignOnManager(context: Context, sharedPreferences: SharedPreferences? = null) : SingleSignOnManager

Manage SSO Token with SharedPreferences as the storage.

Link copied to clipboard
Interceptor to intercept the received token.
Link copied to clipboard
Manage SSO related attributes
Link copied to clipboard
data class SSLPinning(val buildSteps: List<BuildStep<OkHttpClient.Builder>> = emptyList(), val pins: List<String> = emptyList())

Data class for the SSL pinning configurations

Link copied to clipboard

SSL builder to build the SDK configuration information specific to SSL

Link copied to clipboard
class SSOBroadcastModel @JvmOverloads constructor(val context: Context? = InitProvider.getCurrentActivity(), val broadcastIntent: Intent = Intent(context?.resources?.getString(R.string.forgerock_sso_logout)))

SSOBroadcastModel to broadcast the SSO SignOut message to single sign on apps

Link copied to clipboard
class SSOBroadcastReceiver(var config: Config? = null) : BroadcastReceiver

Broadcast receiver to receive the logout SSO message

Link copied to clipboard
@Serializable
data class SSOToken(val value: String, val successUrl: String = "", val realm: String = "") : Token
Link copied to clipboard
object SSOTokenSerializer : KSerializer<SSOToken>
Link copied to clipboard
data class Store(var oidcStorage: Storage<AccessToken> = Options.oidcStorage, var ssoTokenStorage: Storage<SSOToken> = Options.ssoTokenStorage, var cookiesStorage: Storage<Collection<String>> = Options.cookieStorage)
Link copied to clipboard
open class StringUtils
Utility class for handling Strings.
Link copied to clipboard
@Serializable
interface Token

Domain object to hold generic Token

Link copied to clipboard
interface TokenManager
Interface to Manage OAuth2 Tokens
Link copied to clipboard
data class UrlPath(val authenticateEndpoint: String? = null, val revokeEndpoint: String? = null, val sessionEndpoint: String? = null, val tokenEndpoint: String? = null, val userinfoEndpoint: String? = null, val authorizeEndpoint: String? = null, val endSessionEndpoint: String? = null)

Data class for the URL configurations

Link copied to clipboard

URL Path builder to build the SDK configuration information specific to endpoints

Link copied to clipboard
open class UserInfo
This class hold the response of OpenId Connect userinfo endpoint
Link copied to clipboard
Service Client
Link copied to clipboard
open class WebAuthnDataRepository(val context: Context, sharedPreferences: SharedPreferences?)

Properties

Link copied to clipboard
internal const val ALLOW_CREDENTIALS: String
Link copied to clipboard
internal val json: Json
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
private val TAG: String
private val TAG: String

private val TAG: String

A Repository that store PublicKeyCredentialSource