authenticate-0.9.3.1: Authentication methods for Haskell web applications.

Web.Authenticate.OAuth

Contents

Synopsis

Data types

data OAuth Source

Data type for OAuth client (consumer).

Constructors

OAuth 

Fields

oauthServerName :: String

Service name

oauthRequestUri :: String

URI to request temporary credential

oauthAccessTokenUri :: String

Uri to obtain access token

oauthAuthorizeUri :: String

Uri to authorize

oauthSignatureMethod :: SignMethod

Signature Method

oauthConsumerKey :: ByteString

Consumer key

oauthConsumerSecret :: ByteString

Consumer Secret

oauthCallback :: Maybe ByteString

Callback uri to redirect after authentication

Operations for credentials

emptyCredential :: CredentialSource

Empty credential.

insertSource

Arguments

:: ByteString

Parameter Name

-> ByteString

Value

-> Credential

Credential

-> Credential

Result

Insert an oauth parameter into given Credential.

deleteSource

Arguments

:: ByteString

Parameter name

-> Credential

Credential

-> Credential

Result

Remove an oauth parameter for key from given Credential.

inserts :: [(ByteString, ByteString)] -> Credential -> CredentialSource

Convenient method for inserting multiple parameters into credential.

Signature

signOAuthSource

Arguments

:: OAuth

OAuth Application

-> Credential

Credential

-> Request IO

Original Request

-> IO (Request IO)

Signed OAuth Request

Add OAuth headers & sign to Request.

Url & operation for authentication

authorizeUrlSource

Arguments

:: OAuth

OAuth Application

-> Credential

Temporary Credential (Request Token & Secret)

-> String

URL to authorize

URL to obtain OAuth verifier.

getAccessToken,getTokenCredentialSource

Arguments

:: OAuth

OAuth Application

-> Credential

Temporary Credential with oauth_verifier

-> IO Credential

Token Credential (Access Token & Secret)

Get Access token.

getTemporaryCredentialSource

Arguments

:: OAuth

OAuth Application

-> IO Credential

Temporary Credential (Request Token & Secret).

Get temporary credential for requesting acces token.

Utility Methods

paramEncode :: ByteString -> ByteStringSource

Encode a string using the percent encoding method for OAuth.