-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Authentication methods for Haskell web applications. -- -- OAuth authentication, e.g. Twitter. @package authenticate-oauth @version 1.1 module Web.Authenticate.OAuth -- | Data type for OAuth client (consumer). -- -- The constructor for this data type is not exposed. Instead, you should -- use the def method or newOAuth function to retrieve a -- default instance, and then use the records below to make -- modifications. This approach allows us to add configuration options -- without breaking backwards compatibility. data OAuth -- | The default value for this type. def :: Default a => a -- | Default value for OAuth datatype. You must specify at least -- oauthServerName, URIs and Tokens. newOAuth :: OAuth -- | Service name (default: "") oauthServerName :: OAuth -> String -- | URI to request temporary credential (default: ""). You MUST -- specify if you use getTemporaryCredential', -- getTemporaryCredentialProxy or getTemporaryCredential; -- otherwise you can just leave this empty. oauthRequestUri :: OAuth -> String -- | Uri to obtain access token (default: ""). You MUST specify if -- you use getAcessToken or getAccessToken'; otherwise -- you can just leave this empty. oauthAccessTokenUri :: OAuth -> String -- | Uri to authorize (default: ""). You MUST specify if you use -- authorizeUrl or authorizeUrl'; otherwise you can just -- leave this empty. oauthAuthorizeUri :: OAuth -> String -- | Signature Method (default: HMACSHA1) oauthSignatureMethod :: OAuth -> SignMethod -- | Consumer key (You MUST specify) oauthConsumerKey :: OAuth -> ByteString -- | Consumer Secret (You MUST specify) oauthConsumerSecret :: OAuth -> ByteString -- | Callback uri to redirect after authentication (default: -- Nothing) oauthCallback :: OAuth -> Maybe ByteString -- | Optional authorization realm (default: Nothing) oauthRealm :: OAuth -> Maybe ByteString -- | OAuth spec version (default: OAuth10a) oauthVersion :: OAuth -> OAuthVersion data OAuthVersion -- | OAuth protocol ver 1.0 (no oauth_verifier; differs from RFC 5849). OAuth10 :: OAuthVersion -- | OAuth protocol ver 1.0a. This corresponds to community's 1.0a spec and -- RFC 5849. OAuth10a :: OAuthVersion -- | 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 -- | Convenient function to create Credential with OAuth Token and -- Token Secret. newCredential :: ByteString -> ByteString -> Credential -- | 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 injectVerifier :: ByteString -> Credential -> Credential -- | Add OAuth headers & sign to Request. signOAuth :: ResourceIO m => OAuth -> Credential -> Request m -> ResourceT m (Request m) genSign :: ResourceIO m => OAuth -> Credential -> Request m -> ResourceT m ByteString -- | URL to obtain OAuth verifier. authorizeUrl :: OAuth -> Credential -> String -- | Convert OAuth and Credential to URL to authorize. This takes function -- to choice parameter to pass to the server other than -- oauth_callback or oauth_token. authorizeUrl' :: (OAuth -> Credential -> SimpleQuery) -> OAuth -> Credential -> String -- | Get Access token. getAccessToken, getTokenCredential :: ResourceIO m => OAuth -> Credential -> Manager -> ResourceT m Credential -- | Get temporary credential for requesting acces token. getTemporaryCredential :: ResourceIO m => OAuth -> Manager -> ResourceT m Credential -- | Get temporary credential for requesting access token with Scope -- parameter. getTemporaryCredentialWithScope :: ResourceIO m => ByteString -> OAuth -> Manager -> ResourceT m Credential -- | Get Access token via the proxy. getAccessTokenProxy, getTokenCredentialProxy :: ResourceIO m => Maybe Proxy -> OAuth -> Credential -> Manager -> ResourceT m Credential -- | Get temporary credential for requesting access token via the proxy. getTemporaryCredentialProxy :: ResourceIO m => Maybe Proxy -> OAuth -> Manager -> ResourceT m Credential getAccessToken' :: ResourceIO m => (Request m -> Request m) -> OAuth -> Credential -> Manager -> ResourceT m Credential getTemporaryCredential' :: ResourceIO m => (Request m -> Request m) -> OAuth -> Manager -> ResourceT m Credential -- | Encode a string using the percent encoding method for OAuth. paramEncode :: ByteString -> ByteString addScope :: MonadIO m => ByteString -> Request m -> Request m addMaybeProxy :: Maybe Proxy -> Request m -> Request m instance Typeable OAuthVersion 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 OAuthVersion instance Eq OAuthVersion instance Ord OAuthVersion instance Data OAuthVersion instance Read OAuthVersion 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 instance Default OAuth -- | This Module provides interface for the instance of ResouceIO instead -- of ResourceT. What this module do is just adding withManager or -- runResourceT. module Web.Authenticate.OAuth.IO -- | Get Access token. getAccessToken, getTokenCredential :: ResourceIO m => OAuth -> Credential -> m Credential -- | Add OAuth headers & sign to Request signOAuth :: ResourceIO m => OAuth -> Credential -> Request m -> m (Request m) -- | Get temporary credential for requesting acces token. getTemporaryCredential :: ResourceIO m => OAuth -> m Credential -- | Get temporary credential for requesting access token with Scope -- parameter. getTemporaryCredentialWithScope :: ResourceIO m => ByteString -> OAuth -> m Credential -- | Get temporary credential for requesting access token via the proxy. getTemporaryCredentialProxy :: ResourceIO m => Maybe Proxy -> OAuth -> m Credential getTemporaryCredential' :: ResourceIO m => (Request m -> Request m) -> OAuth -> m Credential -- | Get Access token via the proxy. getAccessTokenProxy, getTokenCredentialProxy :: ResourceIO m => Maybe Proxy -> OAuth -> Credential -> m Credential getAccessToken' :: ResourceIO m => (Request m -> Request m) -> OAuth -> Credential -> m Credential genSign :: ResourceIO m => OAuth -> Credential -> Request m -> m ByteString