Simple OAuth for http-client.
Warning: This software is pre 1.0 and thus its API may change very dynamically while updating only minor versions. This package will follow the PVP once it reaches version 1.0.
OAuth is a popular protocol allowing servers to offer resources owned by some user to a series of authorized clients securely. For instance, OAuth lets Twitter provide access to a user's private tweets to the Twitter client registered on their phone.
oauthenticated
is a Haskell library implementing OAuth protocols atop the minimalistic http-client
HTTP client library extracted from http-conduit
. Network.OAuth
offers simple functions for signing Network.HTTP.Client.Request
s along with tools for Network.OAuth.Cred
ential management and Network.OAuth.Server
configuration. Network.OAuth.Simple
provides a slightly more heavy-weight interface which manages the necessary state and configuration using a monad transformer stack.
There's also an implementation of OAuth's three-legged credential acquisition protocol built atop the Network.OAuth
API. This can be handled in both conformant and old-style modes: conformant will reject server responses which are not conformant with RFC 5849 (which builds atop community version OAuth 1.0a) while old-style better allows for less-than-compliant servers. See Network.OAuth.Types.Params.Version
for more details.
Currently oauthenticated
only supports OAuth 1.0 and is in alpha. OAuth 2.0 support is a potential goal, but it's unclear if it can be transparently supported at a similar level of abstraction.