-- 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.9.1 -- | 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) => Text -> Text -> Maybe Text -> [(Text, Text)] -> m Text authenticate :: (MonadIO m, Failure AuthenticateException m, Failure HttpException m) => [(Text, Text)] -> m (Identifier, [(Text, Text)]) data AuthenticateException RpxnowException :: String -> AuthenticateException NormalizationException :: String -> AuthenticateException DiscoveryException :: String -> AuthenticateException AuthenticationException :: String -> AuthenticateException -- | A valid OpenID identifier. newtype Identifier Identifier :: Text -> Identifier identifier :: Identifier -> Text 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)] data OAuthException OAuthException :: String -> OAuthException -- | 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 -> IO (Request IO) genSign :: MonadIO m => OAuth -> Credential -> Request m -> m ByteString -- | 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 :: Text -> Text -> Text -> Facebook facebookClientId :: Facebook -> Text facebookClientSecret :: Facebook -> Text facebookRedirectUri :: Facebook -> Text newtype AccessToken AccessToken :: Text -> AccessToken unAccessToken :: AccessToken -> Text getForwardUrl :: Facebook -> [Text] -> Text getAccessToken :: Facebook -> Text -> IO AccessToken getGraphData :: AccessToken -> Text -> IO (Either String Value) instance Typeable Facebook instance Typeable AccessToken instance Typeable InvalidJsonException 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 instance Show InvalidJsonException instance Exception InvalidJsonException module Web.Authenticate.Rpxnow -- | Information received from Rpxnow after a valid login. data Identifier Identifier :: Text -> [(Text, Text)] -> Identifier identifier :: Identifier -> Text extraData :: Identifier -> [(Text, Text)] -- | Attempt to log a user in. authenticate :: (MonadIO m, Failure HttpException m, Failure AuthenticateException 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