| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Network.OAuth.OAuth2.Internal
Contents
Synopsis
- data OAuth2 = OAuth2 {}
- newtype AccessToken = AccessToken {}
- newtype RefreshToken = RefreshToken {}
- newtype IdToken = IdToken {}
- newtype ExchangeToken = ExchangeToken {}
- data OAuth2Token = OAuth2Token {}
- data OAuth2Error a = OAuth2Error {}
- parseOAuth2Error :: FromJSON err => ByteString -> OAuth2Error err
- mkDecodeOAuth2Error :: ByteString -> String -> OAuth2Error err
- data ClientAuthenticationMethod
- type PostBody = [(ByteString, ByteString)]
- type QueryParams = [(ByteString, ByteString)]
- defaultRequestHeaders :: [(HeaderName, ByteString)]
- appendQueryParams :: [(ByteString, ByteString)] -> URIRef a -> URIRef a
- uriToRequest :: MonadThrow m => URI -> m Request
- requestToUri :: Request -> URI
- hostLens :: Lens' Request ByteString
- portLens :: Lens' Request Int
Data Types
Query Parameter Representation
Constructors
| OAuth2 | |
newtype AccessToken Source #
Constructors
| AccessToken | |
Instances
| FromJSON AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| ToJSON AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: AccessToken -> Value # toEncoding :: AccessToken -> Encoding # toJSONList :: [AccessToken] -> Value # toEncodingList :: [AccessToken] -> Encoding # | |
| Show AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods showsPrec :: Int -> AccessToken -> ShowS # show :: AccessToken -> String # showList :: [AccessToken] -> ShowS # | |
| Binary AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| Eq AccessToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
newtype RefreshToken Source #
Constructors
| RefreshToken | |
Instances
| FromJSON RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| ToJSON RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: RefreshToken -> Value # toEncoding :: RefreshToken -> Encoding # toJSONList :: [RefreshToken] -> Value # toEncodingList :: [RefreshToken] -> Encoding # | |
| Show RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods showsPrec :: Int -> RefreshToken -> ShowS # show :: RefreshToken -> String # showList :: [RefreshToken] -> ShowS # | |
| Binary RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| Eq RefreshToken Source # | |
Defined in Network.OAuth.OAuth2.Internal | |
| ToQueryParam RefreshToken Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: RefreshToken -> Map Text Text Source # | |
newtype ExchangeToken Source #
Authorization Code
Constructors
| ExchangeToken | |
Instances
| FromJSON ExchangeToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods parseJSON :: Value -> Parser ExchangeToken # parseJSONList :: Value -> Parser [ExchangeToken] # | |
| ToJSON ExchangeToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods toJSON :: ExchangeToken -> Value # toEncoding :: ExchangeToken -> Encoding # toJSONList :: [ExchangeToken] -> Value # toEncodingList :: [ExchangeToken] -> Encoding # | |
| Show ExchangeToken Source # | |
Defined in Network.OAuth.OAuth2.Internal Methods showsPrec :: Int -> ExchangeToken -> ShowS # show :: ExchangeToken -> String # showList :: [ExchangeToken] -> ShowS # | |
| ToQueryParam ExchangeToken Source # | |
Defined in Network.OAuth2.Experiment.Types Methods toQueryParam :: ExchangeToken -> Map Text Text Source # | |
data OAuth2Token Source #
Constructors
| OAuth2Token | |
Fields
| |
Instances
data OAuth2Error a Source #
Constructors
| OAuth2Error | |
Instances
parseOAuth2Error :: FromJSON err => ByteString -> OAuth2Error err Source #
mkDecodeOAuth2Error :: ByteString -> String -> OAuth2Error err Source #
data ClientAuthenticationMethod Source #
https://www.rfc-editor.org/rfc/rfc6749#section-2.3 According to spec:
The client MUST NOT use more than one authentication method in each request.
Which means use Authorization header or Post body.
However, in reality, I always have to include authentication in the header.
In other words, ClientSecrectBasic is always assured. ClientSecretPost is optional.
Maybe consider an alternative implementation that boolean kind of data type is good enough.
Constructors
| ClientSecretBasic | |
| ClientSecretPost |
Instances
Types Synonym
type PostBody = [(ByteString, ByteString)] Source #
type synonym of post body content
type QueryParams = [(ByteString, ByteString)] Source #
Utilies
defaultRequestHeaders :: [(HeaderName, ByteString)] Source #
appendQueryParams :: [(ByteString, ByteString)] -> URIRef a -> URIRef a Source #
uriToRequest :: MonadThrow m => URI -> m Request Source #
requestToUri :: Request -> URI Source #