Web.Authenticate.OAuth
Contents
- data OAuth = OAuth {}
- data SignMethod
- = PLAINTEXT
- | HMACSHA1
- | RSASHA1 PrivateKey
- data Credential = Credential {
- unCredential :: [(ByteString, ByteString)]
- data OAuthException = OAuthException String
- emptyCredential :: Credential
- insert :: ByteString -> ByteString -> Credential -> Credential
- delete :: ByteString -> Credential -> Credential
- inserts :: [(ByteString, ByteString)] -> Credential -> Credential
- signOAuth :: OAuth -> Credential -> Request IO -> IO (Request IO)
- genSign :: MonadIO m => OAuth -> Credential -> Request m -> m ByteString
- authorizeUrl :: OAuth -> Credential -> String
- getAccessToken :: OAuth -> Credential -> IO Credential
- getTemporaryCredential :: OAuth -> IO Credential
- getTokenCredential :: OAuth -> Credential -> IO Credential
- getTemporaryCredentialWithScope :: ByteString -> OAuth -> IO Credential
- getAccessTokenProxy :: Maybe Proxy -> OAuth -> Credential -> IO Credential
- getTemporaryCredentialProxy :: Maybe Proxy -> OAuth -> IO Credential
- getTokenCredentialProxy :: Maybe Proxy -> OAuth -> Credential -> IO Credential
- getAccessToken' :: (Request IO -> Request IO) -> OAuth -> Credential -> IO Credential
- getTemporaryCredential' :: (Request IO -> Request IO) -> OAuth -> IO Credential
- paramEncode :: ByteString -> ByteString
- addScope :: MonadIO m => ByteString -> Request m -> Request m
- addMaybeProxy :: Maybe Proxy -> Request m -> Request m
Data types
data OAuth
Data type for OAuth client (consumer).
Constructors
OAuth | |
Fields
|
data Credential
Data type for redential.
Constructors
Credential | |
Fields
|
data OAuthException
Constructors
OAuthException String |
Operations for credentials
Empty credential.
Arguments
:: ByteString | Parameter Name |
-> ByteString | Value |
-> Credential | Credential |
-> Credential | Result |
Insert an oauth parameter into given Credential
.
Arguments
:: ByteString | Parameter name |
-> Credential | Credential |
-> Credential | Result |
Remove an oauth parameter for key from given Credential
.
inserts :: [(ByteString, ByteString)] -> Credential -> Credential
Convenient method for inserting multiple parameters into credential.
Signature
Arguments
:: OAuth | OAuth Application |
-> Credential | Credential |
-> Request IO | Original Request |
-> IO (Request IO) | Signed OAuth Request |
Add OAuth headers & sign to Request
.
genSign :: MonadIO m => OAuth -> Credential -> Request m -> m ByteString
Url & operation for authentication
Arguments
:: OAuth | OAuth Application |
-> Credential | Temporary Credential (Request Token & Secret) |
-> String | URL to authorize |
URL to obtain OAuth verifier.
Arguments
:: OAuth | OAuth Application |
-> Credential | Temporary Credential with oauth_verifier |
-> IO Credential | Token Credential (Access Token & Secret) |
Arguments
:: OAuth | OAuth Application |
-> IO Credential | Temporary Credential (Request Token & Secret). |
Get temporary credential for requesting acces token.
Arguments
:: OAuth | OAuth Application |
-> Credential | Temporary Credential with oauth_verifier |
-> IO Credential | Token Credential (Access Token & Secret) |
Get Access token.
getTemporaryCredentialWithScope
Arguments
:: ByteString | Scope parameter string |
-> OAuth | OAuth Application |
-> IO Credential | Temporay Credential (Request Token & Secret). |
Get temporary credential for requesting access token with Scope parameter.
Arguments
:: Maybe Proxy | Proxy |
-> OAuth | OAuth Application |
-> Credential | Temporary Credential with oauth_verifier |
-> IO Credential | Token Credential (Access Token & Secret) |
Arguments
:: Maybe Proxy | Proxy |
-> OAuth | OAuth Application |
-> IO Credential | Temporary Credential (Request Token & Secret). |
Get temporary credential for requesting access token via the proxy.
Arguments
:: Maybe Proxy | Proxy |
-> OAuth | OAuth Application |
-> Credential | Temporary Credential with oauth_verifier |
-> IO Credential | Token Credential (Access Token & Secret) |
Get Access token via the proxy.
Arguments
:: (Request IO -> Request IO) | Request Hook |
-> OAuth | OAuth Application |
-> Credential | Temporary Credential with oauth_verifier |
-> IO Credential | Token Credential (Access Token & Secret) |
Utility Methods
paramEncode :: ByteString -> ByteString
Encode a string using the percent encoding method for OAuth.
addScope :: MonadIO m => ByteString -> Request m -> Request m
addMaybeProxy :: Maybe Proxy -> Request m -> Request m