keycloak-hs-0.0.0.4

Safe HaskellNone
LanguageHaskell2010

Keycloak.Types

Contents

Synopsis

Keycloak Monad

type Keycloak a = ReaderT KCConfig (ExceptT KCError IO) a Source #

Keycloak Monad stack: a simple Reader monad containing the config, and an ExceptT to handle HTTPErrors and parse errors.

data KCError Source #

Contains HTTP errors and parse errors.

Constructors

HTTPError HttpException

Keycloak returned an HTTP error.

ParseError Text

Failed when parsing the response

EmptyError

Empty error to serve as a zero element for Monoid.

data KCConfig Source #

Configuration of Keycloak.

Constructors

KCConfig 
Instances
Eq KCConfig Source # 
Instance details

Defined in Keycloak.Types

Show KCConfig Source # 
Instance details

Defined in Keycloak.Types

defaultKCConfig :: KCConfig Source #

Default configuration

runKeycloak :: Keycloak a -> KCConfig -> IO (Either KCError a) Source #

Run a Keycloak monad within IO.

type Path = Text Source #

Token

newtype Token Source #

Wrapper for tokens.

Constructors

Token 

Fields

Instances
Eq Token Source # 
Instance details

Defined in Keycloak.Types

Methods

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

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

Show Token Source # 
Instance details

Defined in Keycloak.Types

Methods

showsPrec :: Int -> Token -> ShowS #

show :: Token -> String #

showList :: [Token] -> ShowS #

Generic Token Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep Token :: Type -> Type #

Methods

from :: Token -> Rep Token x #

to :: Rep Token x -> Token #

ToHttpApiData Token Source #

Create Authorization header

Instance details

Defined in Keycloak.Types

FromHttpApiData Token Source #

parser for Authorization header

Instance details

Defined in Keycloak.Types

type Rep Token Source # 
Instance details

Defined in Keycloak.Types

type Rep Token = D1 (MetaData "Token" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" True) (C1 (MetaCons "Token" PrefixI True) (S1 (MetaSel (Just "unToken") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ByteString)))

tokNonce :: Text Source #

Keycloak Token additional claims

tokAuthTime :: Text Source #

Keycloak Token additional claims

tokSessionState :: Text Source #

Keycloak Token additional claims

tokAtHash :: Text Source #

Keycloak Token additional claims

tokCHash :: Text Source #

Keycloak Token additional claims

tokName :: Text Source #

Keycloak Token additional claims

tokGivenName :: Text Source #

Keycloak Token additional claims

tokFamilyName :: Text Source #

Keycloak Token additional claims

tokMiddleName :: Text Source #

Keycloak Token additional claims

tokNickName :: Text Source #

Keycloak Token additional claims

tokPreferredUsername :: Text Source #

Keycloak Token additional claims

tokProfile :: Text Source #

Keycloak Token additional claims

tokPicture :: Text Source #

Keycloak Token additional claims

tokWebsite :: Text Source #

Keycloak Token additional claims

tokEmail :: Text Source #

Keycloak Token additional claims

tokEmailVerified :: Text Source #

Keycloak Token additional claims

tokGender :: Text Source #

Keycloak Token additional claims

tokBirthdate :: Text Source #

Keycloak Token additional claims

tokZoneinfo :: Text Source #

Keycloak Token additional claims

tokLocale :: Text Source #

Keycloak Token additional claims

tokPhoneNumber :: Text Source #

Keycloak Token additional claims

tokPhoneNumberVerified :: Text Source #

Keycloak Token additional claims

tokAddress :: Text Source #

Keycloak Token additional claims

tokUpdateAt :: Text Source #

Keycloak Token additional claims

tokClaimsLocales :: Text Source #

Keycloak Token additional claims

tokACR :: Text Source #

Keycloak Token additional claims

data TokenRep Source #

Token reply from Keycloak

Instances
Eq TokenRep Source # 
Instance details

Defined in Keycloak.Types

Show TokenRep Source # 
Instance details

Defined in Keycloak.Types

FromJSON TokenRep Source # 
Instance details

Defined in Keycloak.Types

Permission

type ScopeName = Text Source #

Scope name

newtype ScopeId Source #

Scope Id

Constructors

ScopeId 

Fields

Instances
Eq ScopeId Source # 
Instance details

Defined in Keycloak.Types

Methods

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

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

Show ScopeId Source # 
Instance details

Defined in Keycloak.Types

Generic ScopeId Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep ScopeId :: Type -> Type #

Methods

from :: ScopeId -> Rep ScopeId x #

to :: Rep ScopeId x -> ScopeId #

ToJSON ScopeId Source # 
Instance details

Defined in Keycloak.Types

FromJSON ScopeId Source # 
Instance details

Defined in Keycloak.Types

type Rep ScopeId Source # 
Instance details

Defined in Keycloak.Types

type Rep ScopeId = D1 (MetaData "ScopeId" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" True) (C1 (MetaCons "ScopeId" PrefixI True) (S1 (MetaSel (Just "unScopeId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data Scope Source #

Keycloak scope

Constructors

Scope 
Instances
Eq Scope Source # 
Instance details

Defined in Keycloak.Types

Methods

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

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

Show Scope Source # 
Instance details

Defined in Keycloak.Types

Methods

showsPrec :: Int -> Scope -> ShowS #

show :: Scope -> String #

showList :: [Scope] -> ShowS #

Generic Scope Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep Scope :: Type -> Type #

Methods

from :: Scope -> Rep Scope x #

to :: Rep Scope x -> Scope #

ToJSON Scope Source # 
Instance details

Defined in Keycloak.Types

FromJSON Scope Source # 
Instance details

Defined in Keycloak.Types

type Rep Scope Source # 
Instance details

Defined in Keycloak.Types

type Rep Scope = D1 (MetaData "Scope" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" False) (C1 (MetaCons "Scope" PrefixI True) (S1 (MetaSel (Just "scopeId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe ScopeId)) :*: S1 (MetaSel (Just "scopeName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 ScopeName)))

data Permission Source #

Keycloak permission on a resource

Constructors

Permission 
Instances
Eq Permission Source # 
Instance details

Defined in Keycloak.Types

Show Permission Source # 
Instance details

Defined in Keycloak.Types

Generic Permission Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep Permission :: Type -> Type #

ToJSON Permission Source # 
Instance details

Defined in Keycloak.Types

FromJSON Permission Source # 
Instance details

Defined in Keycloak.Types

type Rep Permission Source # 
Instance details

Defined in Keycloak.Types

User

type First = Int Source #

type Max = Int Source #

newtype UserId Source #

Id of a user

Constructors

UserId 

Fields

Instances
Eq UserId Source # 
Instance details

Defined in Keycloak.Types

Methods

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

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

Show UserId Source # 
Instance details

Defined in Keycloak.Types

Generic UserId Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep UserId :: Type -> Type #

Methods

from :: UserId -> Rep UserId x #

to :: Rep UserId x -> UserId #

ToJSON UserId Source # 
Instance details

Defined in Keycloak.Types

FromJSON UserId Source # 
Instance details

Defined in Keycloak.Types

type Rep UserId Source # 
Instance details

Defined in Keycloak.Types

type Rep UserId = D1 (MetaData "UserId" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" True) (C1 (MetaCons "UserId" PrefixI True) (S1 (MetaSel (Just "unUserId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data User Source #

User

Constructors

User 

Fields

Instances
Eq User Source # 
Instance details

Defined in Keycloak.Types

Methods

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

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

Show User Source # 
Instance details

Defined in Keycloak.Types

Methods

showsPrec :: Int -> User -> ShowS #

show :: User -> String #

showList :: [User] -> ShowS #

Generic User Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep User :: Type -> Type #

Methods

from :: User -> Rep User x #

to :: Rep User x -> User #

ToJSON User Source # 
Instance details

Defined in Keycloak.Types

FromJSON User Source # 
Instance details

Defined in Keycloak.Types

type Rep User Source # 
Instance details

Defined in Keycloak.Types

Owner

data Owner Source #

A resource owner

Constructors

Owner 
Instances
Show Owner Source # 
Instance details

Defined in Keycloak.Types

Methods

showsPrec :: Int -> Owner -> ShowS #

show :: Owner -> String #

showList :: [Owner] -> ShowS #

Generic Owner Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep Owner :: Type -> Type #

Methods

from :: Owner -> Rep Owner x #

to :: Rep Owner x -> Owner #

ToJSON Owner Source # 
Instance details

Defined in Keycloak.Types

FromJSON Owner Source # 
Instance details

Defined in Keycloak.Types

type Rep Owner Source # 
Instance details

Defined in Keycloak.Types

type Rep Owner = D1 (MetaData "Owner" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" False) (C1 (MetaCons "Owner" PrefixI True) (S1 (MetaSel (Just "ownId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "ownName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Username)))

Resource

newtype ResourceId Source #

A resource Id

Constructors

ResourceId 

Fields

Instances
Eq ResourceId Source # 
Instance details

Defined in Keycloak.Types

Show ResourceId Source # 
Instance details

Defined in Keycloak.Types

Generic ResourceId Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep ResourceId :: Type -> Type #

ToJSON ResourceId Source # 
Instance details

Defined in Keycloak.Types

FromJSON ResourceId Source # 
Instance details

Defined in Keycloak.Types

type Rep ResourceId Source # 
Instance details

Defined in Keycloak.Types

type Rep ResourceId = D1 (MetaData "ResourceId" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" True) (C1 (MetaCons "ResourceId" PrefixI True) (S1 (MetaSel (Just "unResId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data Resource Source #

A complete resource

Instances
Show Resource Source # 
Instance details

Defined in Keycloak.Types

Generic Resource Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep Resource :: Type -> Type #

Methods

from :: Resource -> Rep Resource x #

to :: Rep Resource x -> Resource #

ToJSON Resource Source # 
Instance details

Defined in Keycloak.Types

FromJSON Resource Source # 
Instance details

Defined in Keycloak.Types

type Rep Resource Source # 
Instance details

Defined in Keycloak.Types

data Attribute Source #

A resource attribute

Constructors

Attribute 

Fields

Instances
Show Attribute Source # 
Instance details

Defined in Keycloak.Types

Generic Attribute Source # 
Instance details

Defined in Keycloak.Types

Associated Types

type Rep Attribute :: Type -> Type #

ToJSON Attribute Source # 
Instance details

Defined in Keycloak.Types

FromJSON Attribute Source # 
Instance details

Defined in Keycloak.Types

type Rep Attribute Source # 
Instance details

Defined in Keycloak.Types

type Rep Attribute = D1 (MetaData "Attribute" "Keycloak.Types" "keycloak-hs-0.0.0.4-4eD8oIZ3WYF8uLEXHNGnJY" False) (C1 (MetaCons "Attribute" PrefixI True) (S1 (MetaSel (Just "attName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "attValues") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text])))