Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- isAuthorized :: ResourceId -> ScopeName -> Token -> Keycloak Bool
- getPermissions :: [PermReq] -> Token -> Keycloak [Permission]
- checkPermission :: ResourceId -> ScopeName -> Token -> Keycloak ()
- getUserAuthToken :: Username -> Password -> Keycloak Token
- getClientAuthToken :: Keycloak Token
- getUsername :: Token -> Username
- createResource :: Resource -> Token -> Keycloak ResourceId
- deleteResource :: ResourceId -> Token -> Keycloak ()
- deleteAllResources :: Token -> Keycloak ()
- getResource :: ResourceId -> Token -> Keycloak Resource
- getAllResourceIds :: Keycloak [ResourceId]
- updateResource :: Resource -> Token -> Keycloak ResourceId
- getUsers :: Maybe Max -> Maybe First -> Maybe Username -> Token -> Keycloak [User]
- getUser :: UserId -> Token -> Keycloak User
- createUser :: User -> Token -> Keycloak UserId
- updateUser :: UserId -> User -> Token -> Keycloak ()
- keycloakPost :: (Postable dat, Show dat) => Path -> dat -> Token -> Keycloak ByteString
- keycloakPost' :: (Postable dat, Show dat) => Path -> dat -> Keycloak ByteString
- keycloakDelete :: Path -> Token -> Keycloak ()
- keycloakGet :: Path -> Token -> Keycloak ByteString
- keycloakAdminGet :: Path -> Token -> Keycloak ByteString
- keycloakAdminPost :: (Postable dat, Show dat) => Path -> dat -> Token -> Keycloak ByteString
- keycloakAdminPut :: (Putable dat, Show dat) => Path -> dat -> Token -> Keycloak ()
- debug :: MonadIO m => String -> m ()
- warn :: MonadIO m => String -> m ()
- info :: MonadIO m => String -> m ()
- err :: MonadIO m => String -> m ()
- getErrorStatus :: KCError -> Maybe Status
- try :: MonadError a m => m b -> m (Either a b)
Permissions
isAuthorized :: ResourceId -> ScopeName -> Token -> Keycloak Bool Source #
Returns true if the resource is authorized under the given scope.
getPermissions :: [PermReq] -> Token -> Keycloak [Permission] Source #
Return the permissions for the permission requests.
checkPermission :: ResourceId -> ScopeName -> Token -> Keycloak () Source #
Checks if a scope is permitted on a resource. An HTTP Exception 403 will be thrown if not.
Tokens
getUserAuthToken :: Username -> Password -> Keycloak Token Source #
Retrieve the user's token. This token will be used for every other Keycloak calls.
getClientAuthToken :: Keycloak Token Source #
return a Client token. It is useful to create Resources.
getUsername :: Token -> Username Source #
Extract user name from a token
Resource
createResource :: Resource -> Token -> Keycloak ResourceId Source #
Create an authorization resource in Keycloak, under the configured client.
deleteResource :: ResourceId -> Token -> Keycloak () Source #
Delete the resource
deleteAllResources :: Token -> Keycloak () Source #
Delete all resources in Keycloak
getResource :: ResourceId -> Token -> Keycloak Resource Source #
get a single resource
getAllResourceIds :: Keycloak [ResourceId] Source #
get all resources IDs
updateResource :: Resource -> Token -> Keycloak ResourceId Source #
Update a resource
Users
getUsers :: Maybe Max -> Maybe First -> Maybe Username -> 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.
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.
keycloakGet :: Path -> Token -> Keycloak ByteString Source #
Perform get to Keycloak on admin API
keycloakAdminGet :: Path -> Token -> Keycloak ByteString Source #
Perform get to Keycloak on admin API
keycloakAdminPost :: (Postable dat, Show dat) => Path -> dat -> Token -> Keycloak ByteString Source #
Perform post to Keycloak.
keycloakAdminPut :: (Putable dat, Show dat) => Path -> dat -> Token -> Keycloak () Source #
Perform put to Keycloak.
Helpers
try :: MonadError a m => m b -> m (Either a b) Source #