authenticate-0.10.4: Authentication methods for Haskell web applications.

Web.Authenticate.OAuth

Contents

Synopsis

Data types

data OAuth

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 :: Credential

Empty credential.

insert

Arguments

:: ByteString

Parameter Name

-> ByteString

Value

-> Credential

Credential

-> Credential

Result

Insert an oauth parameter into given Credential.

delete

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

signOAuth

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

authorizeUrl

Arguments

:: OAuth

OAuth Application

-> Credential

Temporary Credential (Request Token & Secret)

-> String

URL to authorize

URL to obtain OAuth verifier.

getAccessToken

Arguments

:: OAuth

OAuth Application

-> Credential

Temporary Credential with oauth_verifier

-> IO Credential

Token Credential (Access Token & Secret)

getTemporaryCredential

Arguments

:: OAuth

OAuth Application

-> IO Credential

Temporary Credential (Request Token & Secret).

Get temporary credential for requesting acces token.

getTokenCredential

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.

getAccessTokenProxy

Arguments

:: Maybe Proxy

Proxy

-> OAuth

OAuth Application

-> Credential

Temporary Credential with oauth_verifier

-> IO Credential

Token Credential (Access Token & Secret)

getTemporaryCredentialProxy

Arguments

:: Maybe Proxy

Proxy

-> OAuth

OAuth Application

-> IO Credential

Temporary Credential (Request Token & Secret).

Get temporary credential for requesting access token via the proxy.

getTokenCredentialProxy

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.

getAccessToken'

Arguments

:: (Request IO -> Request IO)

Request Hook

-> OAuth

OAuth Application

-> Credential

Temporary Credential with oauth_verifier

-> IO Credential

Token Credential (Access Token & Secret)

getTemporaryCredential'

Arguments

:: (Request IO -> Request IO)

Request Hook

-> OAuth

OAuth Application

-> IO Credential

Temporary Credential (Request 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