-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Authentication methods for Haskell web applications.
--
-- Focus is on remote authentication methods, such as OpenID, rpxnow and
-- Google.
@package authenticate
@version 0.6.5
module Web.Authenticate.Facebook
data Facebook
Facebook :: String -> String -> String -> Facebook
facebookClientId :: Facebook -> String
facebookClientSecret :: Facebook -> String
facebookRedirectUri :: Facebook -> String
newtype AccessToken
AccessToken :: String -> AccessToken
unAccessToken :: AccessToken -> String
getForwardUrl :: Facebook -> [String] -> String
accessTokenUrl :: Facebook -> String -> String
getAccessToken :: Facebook -> String -> IO AccessToken
graphUrl :: AccessToken -> String -> String
getGraphData :: AccessToken -> String -> IO StringObject
instance Show AccessToken
instance Eq AccessToken
instance Read AccessToken
instance Show Facebook
instance Eq Facebook
instance Read Facebook
-- | Provides functionality for being an OpenId consumer.
module Web.Authenticate.OpenId
-- | An openid identifier (ie, a URL).
newtype Identifier
Identifier :: String -> Identifier
identifier :: Identifier -> String
-- | Returns a URL to forward the user to in order to login.
getForwardUrl :: (MonadIO m, Failure InvalidUrlException m, Failure HttpException m, Failure MissingVar m) => String -> String -> m String
-- | Handle a redirect from an OpenID provider and check that the user
-- logged in properly. If it was successfully, returns the openid.
-- Otherwise, failures an explanation.
authenticate :: (MonadIO m, Failure AuthenticateException m, Failure InvalidUrlException m, Failure HttpException m, Failure MissingVar m) => [(String, String)] -> m Identifier
data AuthenticateException
AuthenticateException :: String -> AuthenticateException
MissingOpenIdParameter :: String -> AuthenticateException
instance Typeable AuthenticateException
instance Typeable MissingVar
instance Show AuthenticateException
instance Show MissingVar
instance Eq Identifier
instance Show Identifier
instance Exception AuthenticateException
instance Exception MissingVar
instance Monad Error
module Web.Authenticate.Rpxnow
-- | Information received from Rpxnow after a valid login.
data Identifier
Identifier :: String -> [(String, String)] -> Identifier
identifier :: Identifier -> String
extraData :: Identifier -> [(String, String)]
-- | Attempt to log a user in.
authenticate :: (MonadIO m, Failure HttpException m, Failure InvalidUrlException m, Failure AuthenticateException m, Failure ObjectExtractError m, Failure JsonDecodeError m) => String -> String -> m Identifier