| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.OAuth.OAuth2
Description
A lightweight oauth2 Haskell binding. See Readme for more details
Synopsis
- data OAuth2 = OAuth2 {}
- data ClientAuthenticationMethod
- newtype RefreshToken = RefreshToken {}
- data OAuth2Token = OAuth2Token {}
- type PostBody = [(ByteString, ByteString)]
- uriToRequest :: MonadThrow m => URI -> m Request
- newtype ExchangeToken = ExchangeToken {}
- newtype AccessToken = AccessToken {}
- newtype IdToken = IdToken {}
- type QueryParams = [(ByteString, ByteString)]
- defaultRequestHeaders :: [(HeaderName, ByteString)]
- appendQueryParams :: [(ByteString, ByteString)] -> URIRef a -> URIRef a
- hostLens :: Lens' Request ByteString
- portLens :: Lens' Request Int
- requestToUri :: Request -> URI
- authorizationUrl :: OAuth2 -> URI
- authorizationUrlWithParams :: QueryParams -> OAuth2 -> URI
- module Network.OAuth.OAuth2.TokenRequest
- module Network.OAuth.OAuth2.HttpClient
Documentation
Query Parameter Representation
Constructors
| OAuth2 | |
data ClientAuthenticationMethod Source #
How would the Client (RP) authenticate itself?
The client MUST NOT use more than one authentication method in each request. Means use Authorization header or Post body.
See more details
https://www.rfc-editor.org/rfc/rfc6749#section-2.3 https://oauth.net/private-key-jwt/ https://www.rfc-editor.org/rfc/rfc7523.html
Constructors
| ClientSecretBasic | |
| ClientSecretPost | |
| ClientAssertionJwt |
Instances
| Show ClientAuthenticationMethod Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| Eq ClientAuthenticationMethod Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods (==) :: ClientAuthenticationMethod -> ClientAuthenticationMethod -> Bool Source # (/=) :: ClientAuthenticationMethod -> ClientAuthenticationMethod -> Bool Source # | |
newtype RefreshToken Source #
Constructors
| RefreshToken | |
Instances
| FromJSON RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods parseJSON :: Value -> Parser RefreshToken Source # parseJSONList :: Value -> Parser [RefreshToken] Source # | |
| ToJSON RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: RefreshToken -> Value Source # toEncoding :: RefreshToken -> Encoding Source # toJSONList :: [RefreshToken] -> Value Source # toEncodingList :: [RefreshToken] -> Encoding Source # omitField :: RefreshToken -> Bool Source # | |
| Show RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| Eq RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods (==) :: RefreshToken -> RefreshToken -> Bool Source # (/=) :: RefreshToken -> RefreshToken -> Bool Source # | |
| ToQueryParam RefreshToken Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: RefreshToken -> Map Text Text Source # | |
data OAuth2Token Source #
Constructors
| OAuth2Token | |
Fields
| |
Instances
| FromJSON OAuth2Token Source # | Parse JSON data into |
Defined in Network.OAuth.OAuth2.Internal Methods parseJSON :: Value -> Parser OAuth2Token Source # parseJSONList :: Value -> Parser [OAuth2Token] Source # | |
| ToJSON OAuth2Token Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: OAuth2Token -> Value Source # toEncoding :: OAuth2Token -> Encoding Source # toJSONList :: [OAuth2Token] -> Value Source # toEncodingList :: [OAuth2Token] -> Encoding Source # omitField :: OAuth2Token -> Bool Source # | |
| Binary OAuth2Token Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods put :: OAuth2Token -> Put Source # get :: Get OAuth2Token Source # putList :: [OAuth2Token] -> Put Source # | |
| Show OAuth2Token Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| Eq OAuth2Token Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods (==) :: OAuth2Token -> OAuth2Token -> Bool Source # (/=) :: OAuth2Token -> OAuth2Token -> Bool Source # | |
type PostBody = [(ByteString, ByteString)] Source #
Type synonym of post body content
uriToRequest :: MonadThrow m => URI -> m Request Source #
newtype ExchangeToken Source #
Authorization Code
Constructors
| ExchangeToken | |
Instances
| FromJSON ExchangeToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods parseJSON :: Value -> Parser ExchangeToken Source # parseJSONList :: Value -> Parser [ExchangeToken] Source # | |
| ToJSON ExchangeToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: ExchangeToken -> Value Source # toEncoding :: ExchangeToken -> Encoding Source # toJSONList :: [ExchangeToken] -> Value Source # toEncodingList :: [ExchangeToken] -> Encoding Source # omitField :: ExchangeToken -> Bool Source # | |
| Show ExchangeToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| ToQueryParam ExchangeToken Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: ExchangeToken -> Map Text Text Source # | |
newtype AccessToken Source #
Constructors
| AccessToken | |
Instances
| FromJSON AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods parseJSON :: Value -> Parser AccessToken Source # parseJSONList :: Value -> Parser [AccessToken] Source # | |
| ToJSON AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: AccessToken -> Value Source # toEncoding :: AccessToken -> Encoding Source # toJSONList :: [AccessToken] -> Value Source # toEncodingList :: [AccessToken] -> Encoding Source # omitField :: AccessToken -> Bool Source # | |
| Show AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| Eq AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods (==) :: AccessToken -> AccessToken -> Bool Source # (/=) :: AccessToken -> AccessToken -> Bool Source # | |
type QueryParams = [(ByteString, ByteString)] Source #
Type sysnonym of request query params
defaultRequestHeaders :: [(HeaderName, ByteString)] Source #
appendQueryParams :: [(ByteString, ByteString)] -> URIRef a -> URIRef a Source #
requestToUri :: Request -> URI Source #
Authorization Requset
authorizationUrlWithParams :: QueryParams -> OAuth2 -> URI Source #
Prepare the authorization URL. Redirect to this URL asking for user interactive authentication.
Since: 2.6.0