hoauth2-0.5.2: Haskell OAuth2 authentication client

Safe HaskellNone
LanguageHaskell2010

Network.OAuth.OAuth2.Internal

Contents

Description

A simple OAuth2 Haskell binding. (This is supposed to be independent of the http client used.)

Synopsis

Data Types

data AccessToken Source

The gained Access Token. Use Data.Aeson.decode to decode string to AccessToken. The refreshToken is special in some cases, e.g. https://developers.google.com/accounts/docs/OAuth2

Types Synonym

type OAuth2Result a = Either ByteString a Source

Is either Left containing an error or Right containg a result

type QueryParams = [(ByteString, ByteString)] Source

type synonym of query parameters

type PostBody = [(ByteString, ByteString)] Source

type synonym of post body content

type URI = ByteString Source

type synonym of a URI

URLs

authorizationUrl :: OAuth2 -> URI Source

Prepare the authorization URL. Redirect to this URL asking for user interactive authentication.

accessTokenUrl Source

Arguments

:: OAuth2 
-> ByteString

access code gained via authorization URL

-> (URI, PostBody)

access token request URL plus the request body.

Prepare the URL and the request body query for fetching an access token.

accessTokenUrl' Source

Arguments

:: OAuth2 
-> ByteString

access code gained via authorization URL

-> Maybe ByteString

Grant Type

-> (URI, PostBody)

access token request URL plus the request body.

Prepare the URL and the request body query for fetching an access token, with optional grant type.

refreshAccessTokenUrl Source

Arguments

:: OAuth2 
-> ByteString

refresh token gained via authorization URL

-> (URI, PostBody)

refresh token request URL plus the request body.

Using a Refresh Token. Obtain a new access token by sending a refresh token to the Authorization server.

UTILs

appendQueryParam :: URI -> QueryParams -> URI Source

Append query parameters using `"?"` or `"&"`.

appendAccessToken Source

Arguments

:: URI

Base URI

-> AccessToken

Authorized Access Token

-> URI

Combined Result

For GET method API.

accessTokenToParam :: AccessToken -> QueryParams Source

Create QueryParams with given access token value.

transform' :: [(a, Maybe b)] -> [(a, b)] Source

Lift value in the Maybe and abandon Nothing.