hoauth2-2.6.0: Haskell OAuth2 authentication client
Safe HaskellSafe-Inferred
LanguageHaskell2010

Network.OAuth2.Experiment.Types

Synopsis

Grant Type

Response Type value

class ToResponseTypeValue (a :: GrantTypeFlow) where Source #

Instances

Instances details
ToResponseTypeValue 'AuthorizationCode Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

toResponseTypeParam :: forall a b req. (ToResponseTypeValue a, IsString b) => req a -> Map b b Source #

Grant Type value

data GrantTypeValue Source #

Grant type query parameter has association with GrantTypeFlow but not completely strict.

e.g. Both AuthorizationCode and ResourceOwnerPassword flow could support refresh token flow.

Scope

newtype Scope Source #

Constructors

Scope 

Fields

Instances

Instances details
IsString Scope Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Methods

fromString :: String -> Scope #

Show Scope Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Methods

showsPrec :: Int -> Scope -> ShowS #

show :: Scope -> String #

showList :: [Scope] -> ShowS #

Eq Scope Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Methods

(==) :: Scope -> Scope -> Bool #

(/=) :: Scope -> Scope -> Bool #

Ord Scope Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Methods

compare :: Scope -> Scope -> Ordering #

(<) :: Scope -> Scope -> Bool #

(<=) :: Scope -> Scope -> Bool #

(>) :: Scope -> Scope -> Bool #

(>=) :: Scope -> Scope -> Bool #

max :: Scope -> Scope -> Scope #

min :: Scope -> Scope -> Scope #

ToQueryParam (Set Scope) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Credentials

newtype ClientId Source #

Constructors

ClientId 

Fields

Instances

Instances details
IsString ClientId Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Show ClientId Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Eq ClientId Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam ClientId Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

toOAuth2Key :: ClientId -> ClientSecret -> OAuth2 Source #

In order to reuse some methods from legacy Network.OAuth.OAuth2. Will be removed when Experiment module becomes default.

newtype RedirectUri Source #

Constructors

RedirectUri 

Fields

Instances

Instances details
Eq RedirectUri Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam RedirectUri Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

newtype Username Source #

Constructors

Username 

Fields

Instances

Instances details
IsString Username Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Eq Username Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam Username Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

newtype Password Source #

Constructors

Password 

Fields

Instances

Instances details
IsString Password Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Eq Password Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam Password Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Query parameters

class ToQueryParam a where Source #

Methods

toQueryParam :: a -> Map Text Text Source #

Instances

Instances details
ToQueryParam ExchangeToken Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam RefreshToken Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam CodeChallenge Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam CodeChallengeMethod Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam CodeVerifier Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam AuthorizeState Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam ClientId Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam ClientSecret Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam GrantTypeValue Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam Password Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam RedirectUri Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam Username Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam (Set Scope) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam (AuthorizationRequest 'AuthorizationCode) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam (RefreshTokenRequest 'AuthorizationCode) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam (TokenRequest 'AuthorizationCode) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam (TokenRequest 'ClientCredentials) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam (TokenRequest 'ResourceOwnerPassword) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

ToQueryParam a => ToQueryParam (Maybe a) Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

Authorization and Token Requests types

class HasTokenRequest (a :: GrantTypeFlow) where Source #

Associated Types

data TokenRequest a Source #

Each GrantTypeFlow has slightly different request parameter to /token endpoint.

type WithExchangeToken a b Source #

Only 'AuthorizationCode flow (but not resource owner password nor client credentials) will use ExchangeToken in the token request create type family to be explicit on it. with 'type instance WithExchangeToken a b = b' implies no exchange token v.s. 'type instance WithExchangeToken a b = ExchangeToken -> b' implies needing an exchange token

Instances

Instances details
HasTokenRequest 'AuthorizationCode Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

HasTokenRequest 'ClientCredentials Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

HasTokenRequest 'ResourceOwnerPassword Source # 
Instance details

Defined in Network.OAuth2.Experiment.Types

User Info types

type family IdpUserInfo a Source #

Idp App

data Idp a Source #

Shall IdpApplication has a field of 'Idp a'??

Idp App Config

Authorization Code flow

Password flow

Client Credentials flow