AnimeSkipAuth

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
data class Account(val profileUrl: String, val username: String, val email: String)
Link copied to clipboard
data class ApiData(val myApiClients: List<AnimeSkipAuth.MyApiClient>)
Link copied to clipboard
data class ApiRoot(val data: AnimeSkipAuth.ApiData)
Link copied to clipboard
data class Login(val authToken: String, val refreshToken: String, val account: AnimeSkipAuth.Account)
Link copied to clipboard
data class LoginData(val login: AnimeSkipAuth.Login)
Link copied to clipboard
data class LoginRoot(val data: AnimeSkipAuth.LoginData)
Link copied to clipboard
data class MyApiClient(val id: String)
Link copied to clipboard
data class Payload(val profileUrl: String, val username: String, val email: String, val clientId: String)

Properties

Link copied to clipboard
Link copied to clipboard
open override val createAccountUrl: String

Link to a website for creating a new account

Link copied to clipboard
open override val hasInApp: Boolean = true

Has in app login support, aka login with a dialog

Link copied to clipboard
open val hasOAuth2: Boolean = false

Has OAuth2 login support, including login, loginRequest and refreshToken

Link copied to clipboard
open val hasPin: Boolean = false

Has on device pin support, aka login with a QR code

Link copied to clipboard
open val icon: Int? = null

Drawable icon of the service

Link copied to clipboard
open override val idPrefix: String
Link copied to clipboard

The requirements to login in app

Link copied to clipboard
open override val name: String
Link copied to clipboard
open val redirectUrlIdentifier: String? = null

The sensitive redirect URL from OAuth should contain "/redirectUrlIdentifier" to trigger the login

Link copied to clipboard
open val requiresLogin: Boolean = true

If this service requires an account to use

Functions

Link copied to clipboard
Link copied to clipboard
open suspend fun invalidateToken(token: AuthToken): Nothing

An optional security measure to make sure that even if an attacker gets ahold of the token, it will be invalid.

Link copied to clipboard

Is this url a valid redirect url for this service?

Link copied to clipboard
open suspend fun login(payload: AuthPinData): AuthToken?

Pin login, this will be called periodically while logging in to check if the pin has been verified by the user

open suspend fun login(redirectUrl: String, payload: String?): AuthToken?

OAuth2 login from a valid redirectUrl, and payload given in loginRequest

open suspend override fun login(form: AuthLoginResponse): AuthToken?

In app login

Link copied to clipboard
Link copied to clipboard

OAuth2 login request, asking the service to provide a url to open in the browser

Link copied to clipboard
fun md5(input: String): String
Link copied to clipboard
open suspend fun pinRequest(): AuthPinData?

Pin login request, asking the service to provide an verificationUrl to display with a QR code

Link copied to clipboard
open suspend fun refreshToken(token: AuthToken): AuthToken?

OAuth2 token refresh, this ensures that all token passed to other functions will be valid

Link copied to clipboard
Link copied to clipboard
open suspend override fun user(token: AuthToken?): AuthUser?

Get the visible user account