Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- checkPermission :: ResourceId -> ScopeName -> Token -> Keycloak ()
- isAuthorized :: ResourceId -> ScopeName -> Token -> Keycloak Bool
- getAllPermissions :: [ScopeName] -> Token -> Keycloak [Permission]
- getUserAuthToken :: Username -> Password -> Keycloak Token
- getClientAuthToken :: Keycloak Token
- decodeToken :: Token -> Either String TokenDec
- getUsername :: Token -> Maybe Username
- createResource :: Resource -> Token -> Keycloak ResourceId
- deleteResource :: ResourceId -> Token -> Keycloak ()
- getUsers :: Maybe Max -> Maybe First -> Token -> Keycloak [User]
- getUser :: UserId -> Token -> Keycloak User
- keycloakPost :: (Postable dat, Show dat) => Path -> dat -> Token -> Keycloak ByteString
- keycloakPost' :: (Postable dat, Show dat) => Path -> dat -> Keycloak ByteString
- keycloakDelete :: Path -> Token -> Keycloak ()
- keycloakAdminGet :: Path -> Token -> Keycloak ByteString
- 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
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
getClientAuthToken :: Keycloak Token Source #
return a Client token
Resource
createResource :: Resource -> Token -> Keycloak ResourceId Source #
Create a 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.
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.
keycloakAdminGet :: Path -> Token -> Keycloak ByteString Source #
Perform get to Keycloak on admin API
Helpers
try :: MonadError a m => m b -> m (Either a b) Source #