Package-level declarations

Types

Link copied to clipboard
object DateSerializer : KSerializer<Date>

Custom serializer for the Date class to convert to/from Long (milliseconds since epoch)

Link copied to clipboard

Configuration class for push notification cleanup settings. This class defines how push notifications are cleaned up automatically.

Link copied to clipboard
object NullableDateSerializer : KSerializer<Date?>

Custom serializer for nullable Date class to convert to/from Long (milliseconds since epoch)

Link copied to clipboard
class PingAMPushResponder(httpClient: HttpClient, logger: Logger = Logger.Companion.logger)

PingAM implementation for handling network operations related to Push authentication. This class is responsible for making HTTP requests to the PingAM servers.

Link copied to clipboard

Implementation of PushClient that provides Push notification functionality. This client handles Push credential management and notification handling.

Link copied to clipboard

Configuration class specific for Push MFA functionality. Extends the base MfaConfiguration with Push-specific settings.

Link copied to clipboard

Constants used by Push module. Contains constants for HTTP headers, content types, keys used in requests/responses, and JWT-related constants.

Link copied to clipboard
@Serializable
data class PushCredential(val id: String = UUID.randomUUID().toString(), val userId: String? = null, val resourceId: String = UUID.randomUUID().toString(), val issuer: String, val displayIssuer: String = issuer, val accountName: String, val displayAccountName: String = accountName, val serverEndpoint: String, val sharedSecret: String, val createdAt: Date = Date(), val imageURL: String? = null, val backgroundColor: String? = null, val policies: String? = null, var lockingPolicy: String? = null, var isLocked: Boolean = false, val platform: String = PushPlatform.PING_AM.name)

Represents a push credential for receiving push notifications. This model holds all necessary information to identify and interact with push notifications.

Link copied to clipboard
@Serializable
data class PushDeviceToken(val id: String = UUID.randomUUID().toString(), val tokenId: String, val createdAt: Date = Date())

Represents a device token for push notifications. This model holds information about the FCM or other messaging service device token.

Link copied to clipboard
class PushDeviceTokenManager(storage: PushStorage, logger: Logger = Logger.logger)

Manager class for handling push device tokens.

Link copied to clipboard
interface PushHandler

Defines contract for managing push device enrollment and handling notification messages from a specific platform.

Link copied to clipboard
@Serializable
data class PushNotification(val id: String = UUID.randomUUID().toString(), val credentialId: String, val ttl: Int, val messageId: String, val messageText: String? = null, val customPayload: String? = null, val challenge: String? = null, var numbersChallenge: String? = null, val loadBalancer: String? = null, val contextInfo: String? = null, val pushType: PushType, val createdAt: Date = Date(), val sentAt: Date? = null, var respondedAt: Date? = null, val additionalData: Map<String, Any>? = null, var approved: Boolean = false, var pending: Boolean = true)

Represents a push notification authentication challenge. This model holds all necessary information about a push notification challenge.

Link copied to clipboard

Enum representing different push notification platforms. This enum is used to identify the source of a push notification.

Link copied to clipboard

Enum representing the supported Push notification types. Different types of push notifications require different handling for authentication.

Link copied to clipboard
object PushTypeSerializer : KSerializer<PushType>

Custom serializer for the OathType enum

Link copied to clipboard

Utility class for parsing Push URIs.