LoginClient

sealed interface LoginClient

To be implemented by the extension to provide login functionality.

Do not implement this interface directly, use the sub-interfaces. The extension can implement all of the sub-interfaces.

See also

Inheritors

Types

Link copied to clipboard

To be implemented when the login screen has custom text input fields.

Link copied to clipboard
data class Form(val key: String, val label: String, val icon: LoginClient.InputField.Type, val inputFields: List<LoginClient.InputField>)

Represents a form for the login screen.

Link copied to clipboard
data class InputField(val type: LoginClient.InputField.Type, val key: String, val label: String, val isRequired: Boolean, val regex: <Error class: unknown class>? = null)

Represents an input field for the login screen.

Link copied to clipboard
interface WebView : LoginClient

Interface when the login requires a webview.

Functions

Link copied to clipboard
abstract suspend fun getCurrentUser(): User?

To be called when any other extension needs the current user. Be sure to remove any sensitive data.

Link copied to clipboard
abstract fun setLoginUser(user: User?)

Called when the extension starts or when the user changes. null if no user is logged in (can also be Incognito mode)