Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- isAuthorized :: ResourceId -> ScopeName -> Token -> Keycloak Bool
- getPermissions :: [PermReq] -> Token -> Keycloak [Permission]
- getPermString :: PermReq -> [Text]
- 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 -> 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
- postUser :: User -> Token -> Keycloak UserId
- putUser :: 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 id the resource is authorized under the given scope.
getPermissions :: [PermReq] -> Token -> Keycloak [Permission] Source #
Return the permissions for all resources, under the given scopes.
getPermString :: PermReq -> [Text] Source #
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
getClientAuthToken :: Keycloak Token Source #
return a Client token
getUsername :: Token -> Username Source #
Extract user name from a token
Resource
createResource :: Resource -> Token -> Keycloak ResourceId Source #
Create a resource.
deleteResource :: ResourceId -> Token -> Keycloak () Source #
Delete the resource
deleteAllResources :: Token -> Keycloak () Source #
getResource :: ResourceId -> Keycloak Resource Source #
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 #