keycloak-hs-0.0.0.1

Safe HaskellNone
LanguageHaskell2010

Keycloak.Client

Contents

Synopsis

Permissions

checkPermission :: ResourceId -> ScopeName -> Token -> Keycloak () Source #

Checks is a scope is permitted on a resource. An HTTP Exception 403 will be thrown if not.

isAuthorized :: ResourceId -> ScopeName -> Token -> Keycloak Bool Source #

Returns true id the resource is authorized under the given scope.

getAllPermissions :: [ScopeName] -> Token -> Keycloak [Permission] Source #

Return the permissions for all resources, under the given scopes.

Tokens

getUserAuthToken :: Username -> Password -> Keycloak Token Source #

Retrieve the user's token

getClientAuthToken :: Keycloak Token Source #

return a Client token

getUsername :: Token -> Maybe Username Source #

Extract user name from a token

Resource

deleteResource :: ResourceId -> Token -> Keycloak () Source #

Delete the resource

Users

getUsers :: Maybe Max -> Maybe First -> Token -> Keycloak [User] Source #

Get users. Default number of users is 100. Parameters max and first allow to paginate and retrieve more than 100 users.

getUser :: UserId -> Token -> Keycloak User Source #

Get a single user, based on his Id

Keycloak basic requests

keycloakPost :: (Postable dat, Show dat) => Path -> dat -> Token -> Keycloak ByteString Source #

Perform post to Keycloak.

keycloakPost' :: (Postable dat, Show dat) => Path -> dat -> Keycloak ByteString Source #

Perform post to Keycloak, without token.

keycloakDelete :: Path -> Token -> Keycloak () Source #

Perform delete to Keycloak.

keycloakAdminGet :: Path -> Token -> Keycloak ByteString Source #

Perform get to Keycloak on admin API

Helpers

debug :: MonadIO m => String -> m () Source #

warn :: MonadIO m => String -> m () Source #

info :: MonadIO m => String -> m () Source #

err :: MonadIO m => String -> m () Source #

try :: MonadError a m => m b -> m (Either a b) Source #