com.malliina.web
package com.malliina.web
Type members
Classlikes
case class AuthCodeConf(brandName: String, conf: AuthConf, client: KeyClient, extraStartParams: Map[String, String], extraValidateParams: Map[String, String])
case class AuthEndpoints(authorizationEndpoint: FullUrl, tokenEndpoint: FullUrl, jwksUri: FullUrl) extends OpenIdConf
- Companion
- object
case class Callback(requestState: Option[String], sessionState: Option[String], codeQuery: Option[String], requestNonce: Option[String], redirectUrl: FullUrl)
class CognitoAccessValidator(keys: Seq[KeyConf], issuer: Issuer, clientId: ClientId) extends CognitoValidator[AccessToken, CognitoUser]
class CognitoAuthFlow(host: String, identityProvider: IdentityProvider, validator: CognitoIdValidator, val oauth: GenericAuthConf) extends CallbackValidator[CognitoUser] with StaticFlowStart
- Companion
- object
class CognitoIdValidator(keys: Seq[KeyConf], issuer: Issuer, val clientIds: Seq[ClientId]) extends CognitoValidator[IdToken, CognitoUser]
case class CognitoTokensJson(access_token: AccessToken, id_token: IdToken, refresh_token: RefreshToken)
- Companion
- object
case class CognitoUser(username: Username, email: Option[Email], groups: Seq[String], verified: Verified) extends JWTUser
case class CognitoValidation(issuer: Issuer, tokenUse: String, clientIdKey: String, clientId: ClientId)
abstract class CognitoValidator[T <: TokenValue, U](keys: Seq[KeyConf], issuer: Issuer) extends StaticTokenValidator[T, U]
- Companion
- object
abstract class DiscoveringAuthFlow[V](codeConf: AuthCodeConf) extends AuthFlow[[A] =>> IO[A], Verified]
class FacebookAuthFlow(authConf: AuthConf, http: HttpClient[[A] =>> IO[A]]) extends StaticFlowStart with CallbackValidator[Email]
- Companion
- object
class GitHubAuthFlow(authConf: AuthConf, http: HttpClient[[A] =>> IO[A]]) extends StaticFlowStart with CallbackValidator[Email]
- Companion
- object
case class GitHubEmail(email: Email, primary: Boolean, verified: Boolean, visibility: Option[String])
- Companion
- object
class GoogleAuthFlow(conf: AuthCodeConf) extends DiscoveringAuthFlow[Email] with LoginHint[[A] =>> IO[A]]
- Companion
- object
case class GoogleTokens(idToken: IdToken, accessToken: AccessToken, expiresIn: Duration, tokenType: String) extends TokenSet
- Companion
- object
class KeyClient(val knownUrl: FullUrl, validator: TokenValidator, val http: HttpClient[[A] =>> IO[A]])
case class KeyConf(n: Base64URL, kid: String, use: KeyUse, e: Base64URL, alg: JWSAlgorithm, kty: String)
- Companion
- object
class LiberalValidator(conf: KeyConf, issuer: Issuer) extends StaticTokenValidator[AccessToken, Verified]
Accepts any claims, provides user as-is.
Accepts any claims, provides user as-is.
case class MicrosoftOAuthConf(authorizationEndpoint: FullUrl, tokenEndpoint: FullUrl, jwksUri: FullUrl, endSessionEndpoint: FullUrl, scopesSupported: Seq[String], issuer: Issuer, claimsSupported: Seq[String]) extends OpenIdConf
- Companion
- object
case class MicrosoftTokens(idToken: IdToken, accessToken: Option[AccessToken], refreshToken: Option[RefreshToken], tokenType: Option[String], expiresIn: Option[Duration], scope: Option[String]) extends TokenSet
https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-code
- Value Params
- expiresIn
seconds
- idToken
only returned if scope "openid" is requested
- refreshToken
only returned if scope "offline_access" is requested
- tokenType
Bearer
- Companion
- object
case class OAuthParams(client: KeyClient, conf: AuthConf, extraStartParams: Map[String, String], extraValidateParams: Map[String, String])
case class ParsedJWT(jwt: SignedJWT, claims: JWTClaimsSet, kid: String, iss: Issuer, exp: Instant, token: TokenValue)
abstract class StandardAuthFlow[V](conf: AuthCodeConf) extends DiscoveringAuthFlow[V] with LoginHint[[A] =>> IO[A]]
case class Start(authorizationEndpoint: FullUrl, params: Map[String, String], nonce: Option[String])
case class StaticConf(scope: String, authorizationEndpoint: FullUrl, tokenEndpoint: FullUrl, authConf: AuthConf)
abstract class StaticTokenValidator[T <: TokenValue, U](keys: Seq[KeyConf], issuer: Issuer) extends TokenValidator
- Type Params
- T
type of token
- U
type of user
- Value Params
- issuer
issuer
- keys
public keys used to validate tokens
- Companion
- object
class TwitterAuthFlow(conf: AuthConf, val http: HttpClient[[A] =>> IO[A]]) extends FlowStart[[A] =>> IO[A]]
- Companion
- object
case class TwitterTokens(oauthToken: AccessToken, oauthTokenSecret: String, oauthCallbackConfirmed: Boolean)
- Companion
- object