The oauthenticated package
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. It offers a simplified main API in Network.OAuth which provides simplistic, authenticated GET and POST requests atop OAuth using a trivial state monad. It also offers a lower-level API in Network.OAuth.Signing which can be used to sign arbitrary requests while intercepting and modifying the OAuth parameter set.
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.
|Versions||0.0.4, 0.0.5, 0.1.0, 0.1.1, 0.1.2, 0.1.3.2, 0.1.3.3, 0.1.3.4|
|Dependencies||aeson, base (==4.6.*), base64-bytestring, blaze-builder, bytestring, case-insensitive, contravariant, crypto-random, cryptohash, exceptions, http-client, http-types, mtl, network, time, transformers [details]|
|Copyright||2013 (c) Joseph Abrahamson|
|Source repository||head: git clone git://github.com/tel/oauthenticated.git|
|Uploaded||Mon Nov 25 19:21:01 UTC 2013 by JosephAbrahamson|
|Downloads||1414 total (34 in the last 30 days)|
|Status||Docs available [build log]
Successful builds reported [all 1 reports]
For package maintainers and hackage trustees