MIT licensed by Joseph Abrahamson
Maintained by [email protected]
This version can be pinned in stack with:oauthenticated-0.2.1.0@sha256:8c76c5848e2927f6fa95efdc3a750255ed1017ca488d01497ae23d1cedfaaaa4,4014

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.Requests along with tools for Network.OAuth.Credential 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.