Safe Haskell | None |
---|---|
Language | Haskell2010 |
Network.OAuth2.Experiment.Types
Synopsis
- data Idp (i :: k) = Idp {
- idpUserInfoEndpoint :: URI
- idpAuthorizeEndpoint :: URI
- idpTokenEndpoint :: URI
- idpDeviceAuthorizationEndpoint :: Maybe URI
- data IdpApplication (i :: k) a = IdpApplication {
- idp :: Idp i
- application :: a
- newtype Scope = Scope {
- unScope :: Text
- data GrantTypeValue
- data ResponseType = Code
- newtype ClientId = ClientId {
- unClientId :: Text
- newtype ClientSecret = ClientSecret {
- unClientSecret :: Text
- toOAuth2Key :: ClientId -> ClientSecret -> OAuth2
- newtype RedirectUri = RedirectUri {
- unRedirectUri :: URI
- newtype AuthorizeState = AuthorizeState {
- unAuthorizeState :: Text
- newtype Username = Username {
- unUsername :: Text
- newtype Password = Password {
- unPassword :: Text
- class ToQueryParam a where
- toQueryParam :: a -> Map Text Text
- class HasOAuth2Key a where
- mkOAuth2Key :: a -> OAuth2
Idp App
Idp i
consists various endpoints endpoints.
The i
is actually phantom type for information only (Idp name) at this moment.
And it is PolyKinds.
Hence whenever Idp i
or IdpApplication i a
is used as function parameter,
PolyKinds need to be enabled.
Constructors
Idp | |
Fields
|
data IdpApplication (i :: k) a Source #
An OAuth2 Application "a" of IdP "i". "a" can be one of following type:
Constructors
IdpApplication | |
Fields
|
Scope
Instances
IsString Scope Source # | |
Defined in Network.OAuth2.Experiment.Types Methods fromString :: String -> Scope | |
Eq Scope Source # | |
Ord Scope Source # | |
ToQueryParam (Set Scope) Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: Set Scope -> Map Text Text Source # |
Grant Type value
data GrantTypeValue Source #
Grant type query parameter has association with different GrantType flows but not completely strict.
e.g. Both AuthorizationCode and ResourceOwnerPassword flow could support refresh token flow.
Constructors
GTAuthorizationCode | |
GTPassword | |
GTClientCredentials | |
GTRefreshToken | |
GTJwtBearer | |
GTDeviceCode |
Instances
Show GrantTypeValue Source # | |
Defined in Network.OAuth2.Experiment.Types Methods showsPrec :: Int -> GrantTypeValue -> ShowS show :: GrantTypeValue -> String showList :: [GrantTypeValue] -> ShowS | |
Eq GrantTypeValue Source # | |
Defined in Network.OAuth2.Experiment.Types Methods (==) :: GrantTypeValue -> GrantTypeValue -> Bool (/=) :: GrantTypeValue -> GrantTypeValue -> Bool | |
ToQueryParam GrantTypeValue Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: GrantTypeValue -> Map Text Text Source # |
data ResponseType Source #
Constructors
Code |
Instances
ToQueryParam ResponseType Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: ResponseType -> Map Text Text Source # |
Credentials
Constructors
ClientId | |
Fields
|
Instances
IsString ClientId Source # | |
Defined in Network.OAuth2.Experiment.Types Methods fromString :: String -> ClientId | |
Show ClientId Source # | |
Eq ClientId Source # | |
ToQueryParam ClientId Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: ClientId -> Map Text Text Source # |
newtype ClientSecret Source #
Can be either "Client Secret" or JWT base on client authentication method
Constructors
ClientSecret | |
Fields
|
Instances
IsString ClientSecret Source # | |
Defined in Network.OAuth2.Experiment.Types Methods fromString :: String -> ClientSecret | |
Eq ClientSecret Source # | |
Defined in Network.OAuth2.Experiment.Types | |
ToQueryParam ClientSecret Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: ClientSecret -> Map Text Text Source # |
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
Eq RedirectUri Source # | |
Defined in Network.OAuth2.Experiment.Types | |
ToQueryParam RedirectUri Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: RedirectUri -> Map Text Text Source # |
newtype AuthorizeState Source #
Constructors
AuthorizeState | |
Fields
|
Instances
IsString AuthorizeState Source # | |
Defined in Network.OAuth2.Experiment.Types Methods fromString :: String -> AuthorizeState | |
Eq AuthorizeState Source # | |
Defined in Network.OAuth2.Experiment.Types Methods (==) :: AuthorizeState -> AuthorizeState -> Bool (/=) :: AuthorizeState -> AuthorizeState -> Bool | |
ToQueryParam AuthorizeState Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: AuthorizeState -> Map Text Text Source # |
Constructors
Username | |
Fields
|
Instances
IsString Username Source # | |
Defined in Network.OAuth2.Experiment.Types Methods fromString :: String -> Username | |
Eq Username Source # | |
ToQueryParam Username Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: Username -> Map Text Text Source # |
Constructors
Password | |
Fields
|
Instances
IsString Password Source # | |
Defined in Network.OAuth2.Experiment.Types Methods fromString :: String -> Password | |
Eq Password Source # | |
ToQueryParam Password Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: Password -> Map Text Text Source # |
Query parameters
class ToQueryParam a where Source #
Methods
toQueryParam :: a -> Map Text Text Source #
Instances
class HasOAuth2Key a where Source #
Methods
mkOAuth2Key :: a -> OAuth2 Source #