authenticate-0.11.1: Authentication methods for Haskell web applications.

Web.Authenticate.OAuth

Contents

Synopsis

Data types

data OAuth Source

Data type for OAuth client (consumer). The default values apply when you use newOAuth

Constructors

OAuth 

Fields

oauthServerName :: String

Service name (You MUST specify)

oauthRequestUri :: String

URI to request temporary credential (You MUST specify)

oauthAccessTokenUri :: String

Uri to obtain access token (You MUST specify)

oauthAuthorizeUri :: String

Uri to authorize (You MUST specify)

oauthSignatureMethod :: SignMethod

Signature Method (default: HMACSHA1)

oauthConsumerKey :: ByteString

Consumer key (You MUST specify)

oauthConsumerSecret :: ByteString

Consumer Secret (You MUST specify)

oauthCallback :: Maybe ByteString

Callback uri to redirect after authentication (default: Nothing)

oauthRealm :: Maybe ByteString

Optional authorization realm (default: Nothing)

newOAuth :: OAuthSource

Default value for OAuth datatype. You must specify at least oauthServerName, URIs and Tokens.

Operations for credentials

newCredentialSource

Arguments

:: ByteString

value for oauth_token

-> ByteString

value for oauth_token_secret

-> Credential 

Convenient function to create Credential with OAuth Token and Token Secret.

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.

getTemporaryCredentialWithScopeSource

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.

getAccessTokenProxy,getTokenCredentialProxySource

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.

getTemporaryCredentialProxySource

Arguments

:: Maybe Proxy

Proxy

-> OAuth

OAuth Application

-> IO Credential

Temporary Credential (Request Token & Secret).

Get temporary credential for requesting access token via the proxy.

getAccessToken'Source

Arguments

:: (Request IO -> Request IO)

Request Hook

-> OAuth

OAuth Application

-> Credential

Temporary Credential with oauth_verifier

-> IO Credential

Token Credential (Access Token & Secret)

getTemporaryCredential'Source

Arguments

:: (Request IO -> Request IO)

Request Hook

-> OAuth

OAuth Application

-> IO Credential

Temporary Credential (Request Token & Secret).

Utility Methods

paramEncode :: ByteString -> ByteStringSource

Encode a string using the percent encoding method for OAuth.