openid-0.2.1.0: An implementation of the OpenID-2.0 spec.

Copyright(c) Trevor Elliott 2008
LicenseBSD3
MaintainerStability :
Portability
Safe HaskellNone
LanguageHaskell98

Network.OpenID.Association

Contents

Description

 

Synopsis

Association

associate :: AssociationManager am => am -> Bool -> Resolver IO -> Provider -> IO (Either Error am) Source #

Associate with a provider. By default, this tries to use DH-SHA256 and HMAC-SHA256, and falls back to whatever the server recommends, if the Bool parameter is True.

associate' :: AssociationManager am => am -> Bool -> Resolver IO -> Provider -> AssocType -> SessionType -> IO (Either Error am) Source #

Associate with a provider, attempting to use the provided association methods. The Bool specifies whether or not recovery should be attempted upon a failed request.

Lower-level interface

data Assoc m a Source #

Association monad

Instances

MonadT Assoc Source # 

Methods

lift :: Monad m => m a -> Assoc m a #

Monad m => Monad (Assoc m) Source # 

Methods

(>>=) :: Assoc m a -> (a -> Assoc m b) -> Assoc m b #

(>>) :: Assoc m a -> Assoc m b -> Assoc m b #

return :: a -> Assoc m a #

fail :: String -> Assoc m a #

Monad m => Functor (Assoc m) Source # 

Methods

fmap :: (a -> b) -> Assoc m a -> Assoc m b #

(<$) :: a -> Assoc m b -> Assoc m a #

Monad m => Applicative (Assoc m) Source # 

Methods

pure :: a -> Assoc m a #

(<*>) :: Assoc m (a -> b) -> Assoc m a -> Assoc m b #

(*>) :: Assoc m a -> Assoc m b -> Assoc m b #

(<*) :: Assoc m a -> Assoc m b -> Assoc m a #

Monad m => ExceptionM (Assoc m) Error Source # 

Methods

raise :: Error -> Assoc m a #

Monad m => ReaderM (Assoc m) (AssocEnv m) Source # 

Methods

ask :: Assoc m (AssocEnv m) #

runAssoc :: (Monad m, BaseM m m) => AssocEnv m -> Assoc m a -> m (Either Error a) Source #

Running a computation in the association monad

data AssocEnv m Source #

Association environment

Constructors

AssocEnv 

Instances

Monad m => ReaderM (Assoc m) (AssocEnv m) Source # 

Methods

ask :: Assoc m (AssocEnv m) #

associate_ :: (Monad m, AssociationManager am) => am -> Bool -> Resolver m -> Provider -> AssocType -> SessionType -> Assoc m am Source #

A "pure" version of association. It will run in whatever base monad is provided, layering exception handling over that.