-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Authentication methods for Haskell web applications.
--   
--   API docs and the README are available at
--   <a>http://www.stackage.org/package/authenticate</a>.
@package authenticate
@version 1.3.3.2


-- | OpenIDs for a number of common OPs. When a function takes a
--   <a>String</a> parameter, that <a>String</a> is the username.
module Web.Authenticate.OpenId.Providers

-- | <i>Deprecated: Google no longer provides OpenID support</i>
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.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 :: (MonadResource m, MonadBaseControl IO m) => String -> String -> Manager -> m Identifier
data AuthenticateException
RpxnowException :: String -> AuthenticateException
NormalizationException :: String -> AuthenticateException
DiscoveryException :: String -> AuthenticateException
AuthenticationException :: String -> AuthenticateException
instance Data.Data.Data Web.Authenticate.Rpxnow.Identifier
instance GHC.Show.Show Web.Authenticate.Rpxnow.Identifier
instance GHC.Read.Read Web.Authenticate.Rpxnow.Identifier
instance GHC.Classes.Ord Web.Authenticate.Rpxnow.Identifier
instance GHC.Classes.Eq Web.Authenticate.Rpxnow.Identifier

module Web.Authenticate.BrowserId

-- | Location of the Javascript file hosted by browserid.org
browserIdJs :: Text
checkAssertion :: (MonadResource m, MonadBaseControl IO m) => Text -> Text -> Manager -> m (Maybe Text)

module Web.Authenticate.OpenId
getForwardUrl :: (MonadResource m, MonadBaseControl IO m) => Text -> Text -> Maybe Text -> [(Text, Text)] -> Manager -> m Text

-- | <i>Deprecated: Use authenticateClaimed</i>
authenticate :: (MonadBaseControl IO m, MonadResource m, MonadIO m) => [(Text, Text)] -> Manager -> m (Identifier, [(Text, Text)])
authenticateClaimed :: (MonadBaseControl IO m, MonadResource m, MonadIO m) => [(Text, Text)] -> Manager -> m OpenIdResponse
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
data OpenIdResponse
oirOpLocal :: OpenIdResponse -> Identifier
oirParams :: OpenIdResponse -> [(Text, Text)]
oirClaimed :: OpenIdResponse -> Maybe Identifier
