-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Authentication methods for Haskell web applications. -- -- Focus is on third-party authentication methods, such as OpenID, rpxnow -- and Facebook. @package authenticate @version 0.8.2.2 -- | OpenIDs for a number of common OPs. When a function takes a -- String parameter, that String is the username. module Web.Authenticate.OpenId.Providers google :: String yahoo :: String livejournal :: String -> String myspace :: String -> String wordpress :: String -> String blogger :: String -> String verisign :: String -> String typepad :: String -> String myopenid :: String -> String claimid :: String -> String module Web.Authenticate.OpenId getForwardUrl :: (MonadIO m, Failure AuthenticateException m, Failure HttpException m) => String -> String -> Maybe String -> [(String, String)] -> m String authenticate :: (MonadIO m, Failure AuthenticateException m, Failure HttpException m) => [(String, String)] -> m (Identifier, [(String, String)]) data AuthenticateException RpxnowException :: String -> AuthenticateException NormalizationException :: String -> AuthenticateException DiscoveryException :: String -> AuthenticateException AuthenticationException :: String -> AuthenticateException -- | A valid OpenID identifier. newtype Identifier Identifier :: String -> Identifier identifier :: Identifier -> String module Web.Authenticate.OAuth -- | Data type for OAuth client (consumer). data OAuth OAuth :: String -> String -> String -> String -> SignMethod -> ByteString -> ByteString -> Maybe ByteString -> OAuth -- | Service name oauthServerName :: OAuth -> String -- | URI to request temporary credential oauthRequestUri :: OAuth -> String -- | Uri to obtain access token oauthAccessTokenUri :: OAuth -> String -- | Uri to authorize oauthAuthorizeUri :: OAuth -> String -- | Signature Method oauthSignatureMethod :: OAuth -> SignMethod -- | Consumer key oauthConsumerKey :: OAuth -> ByteString -- | Consumer Secret oauthConsumerSecret :: OAuth -> ByteString -- | Callback uri to redirect after authentication oauthCallback :: OAuth -> Maybe ByteString -- | Data type for signature method. data SignMethod PLAINTEXT :: SignMethod HMACSHA1 :: SignMethod RSASHA1 :: PrivateKey -> SignMethod -- | Data type for redential. data Credential Credential :: [(ByteString, ByteString)] -> Credential unCredential :: Credential -> [(ByteString, ByteString)] -- | Empty credential. emptyCredential :: Credential -- | Insert an oauth parameter into given Credential. insert :: ByteString -> ByteString -> Credential -> Credential -- | Remove an oauth parameter for key from given Credential. delete :: ByteString -> Credential -> Credential -- | Convenient method for inserting multiple parameters into credential. inserts :: [(ByteString, ByteString)] -> Credential -> Credential -- | Add OAuth headers & sign to Request. signOAuth :: OAuth -> Credential -> Request -> IO Request -- | URL to obtain OAuth verifier. authorizeUrl :: OAuth -> Credential -> String getAccessToken :: OAuth -> Credential -> IO Credential -- | Get temporary credential for requesting acces token. getTemporaryCredential :: OAuth -> IO Credential -- | Get Access token. getTokenCredential :: OAuth -> Credential -> IO Credential -- | Encode a string using the percent encoding method for OAuth. paramEncode :: ByteString -> ByteString instance Typeable SignMethod instance Typeable OAuth instance Typeable Credential instance Typeable OAuthException instance Eq PrivateKey instance Ord PrivateKey instance Read PrivateKey instance Data PrivateKey instance Typeable PrivateKey instance Show SignMethod instance Eq SignMethod instance Ord SignMethod instance Read SignMethod instance Data SignMethod instance Show OAuth instance Eq OAuth instance Ord OAuth instance Read OAuth instance Data OAuth instance Show Credential instance Eq Credential instance Ord Credential instance Read Credential instance Data Credential instance Show OAuthException instance Eq OAuthException instance Data OAuthException instance Exception OAuthException 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 Typeable Facebook instance Typeable AccessToken instance Show Facebook instance Eq Facebook instance Read Facebook instance Ord Facebook instance Data Facebook instance Show AccessToken instance Eq AccessToken instance Read AccessToken instance Ord AccessToken instance Data AccessToken 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 AuthenticateException m, Failure ObjectExtractError m, Failure JsonDecodeError m) => String -> String -> m Identifier data AuthenticateException RpxnowException :: String -> AuthenticateException NormalizationException :: String -> AuthenticateException DiscoveryException :: String -> AuthenticateException AuthenticationException :: String -> AuthenticateException instance Typeable Identifier instance Eq Identifier instance Ord Identifier instance Read Identifier instance Show Identifier instance Data Identifier