OAuth 1 RFCs
OAuth 1 Libraries
Below is a collection of OAuth 1 libraries. If you would like to make any changes to this page, you can edit this page.
liboauth a collection of POSIX-c functions implementing the OAuth Core RFC 5849 standard.
DotNetOpenAuth a consumer and service provider implementation for OAuth 1.0 and 1.0a for .NET, written in C#. It has built-in support for HMAC-SHA1, RSA-SHA1, and PLAINTEXT signature methods with extensibility to add others. It also includes the OpenID+OAuth extension. It works for ASP.NET as well as non-ASP.NET services, and works in partial trust shared hosting environments. Contributed by Andrew Arnott.
Madgex has released an open source OAuth library for .NET (released under the MIT License). Documentation and demos are available.
DotNetAuth is a consumer only implementation for both OAuth 1.0a and OAuth 2.0. This library is designed with extensibility in mind. So you developers can easily customize it to add support for any OAuth provider, even if the provider is not strictly following the OAuth rules and guidelines.
Eran Sandler has contributed a basic C# class that performs signing.
Alex Henderson offers DevDefined OAuth, an OAuth library developed in C#, providing both consumer and provider implementations for OAuth 1.0 and 1.0a which includes support for the Error Reporting Extensions and allows for RSA-SHA1, HMAC-SHA1 and Plaintext signing. DevDefined OAuth is designed to be both test friendly and extensible, allowing the core to be repurposed to your specific projects needs, and is available under an MIT License. Extensions to the framework to support ASP.Net MVC can also be found on this fork.
Nicolas Tarzia has translated Eran Sandler’s C# library into VB.NET.
Harry Klein has contributed a ColdFusion library which is also listed at RIA Forge.
Leslie P. Polzer contributed cl-oauth, which is available on GitHub and Gitorious. It currently supports HMAC-SHA1 authentication and comes with some SP convenience functions. It’s not polished yet but comes with a basic test suite and all you need to set up both Consumers and Service Providers.
Go-Oauth is an OAuth 1 client package.
A Java library and examples were contributed by John Kristian, Praveen Alavilli and Dirk Balfanz.
OAuth for Spring Security is also available, contributed by Ryan Heaton.
OAuth Signpost offers simple OAuth message signing for Java and Apache HttpComponents (Google Android ready!). Contributed by Matthias Kaeppler.
ScribeJava is a mature OAuth library for Java by Pablo Fernandez and Stas Gromov that is intended to work with all APIs. It has been featured in LinkedIn's developers forums.
KOAauth is a great library for both providers and consumers written by Hunor Kovács. Originally it was intended for Scala but could be fully used in Java as well.
Simeon Velichkov has written a OAuth middleware for Express, Koa and Hapi. 150+ supported providers for both OAuth and OAuth2 npm package.
Ddo has contributed a OAuth 1.0a Request Authorizer (Send OAuth request with your favorite HTTP client as request, jQuery.ajax...)
Shawn M Moore has written an OAuth Plugin for the Jifty Framework.
Jon Crosby has released an OAuthConsumer and OAuthTestSuite for Objective-C for Mac developers. The OAuthConsumer framework is available in the repository and Jon has also written up Using OAuthConsumer, a complete guide to using the OAuthConsumer framework for Mac apps.
Hongbo Yang released YToolkit with OAuth 1.0 and 2.0 support.
Karl Adam released MPOAuthConnection, a drop in component for Mac and iPhone apps to talk to OAuth web services.
Jake Donham from SkyDeck has released Ooauth, an implementation of OAuth in OCaml. Discussion group.
Keith Grennan has written a Net::OAuth in Perl.
- There is an extension to PHP that supports OAuth. It was written by John Jawed. An example can be found here and a walkthrough is also available. This pecl package is considered the de facto standard by Rasmus Lerdorf.
- Manuel Lemos has written a pure PHP OAuth client that abstracts OAuth 1.0a and OAuth 2.0 in the same class. It provides built-in support to several popular OAuth servers, so you do not have to spend time configuring the respective end point URLs. It supports every other OAuth server through specific configuration variables, including some meant to workaround OAuth implementation glitches that some servers have. Documentation and practical examples come with the class package.
- Andy Smith has written a basic PHP library for OAuth.
- Cal Henderson has contributed a simple OAuth library that primarily handles signing.
- HTTP_OAuth is a PEAR package developed by Jeff Hodsdon and Bill Shupp (Digg). You can try it out using this tool.
- There is an OAuth component for CakePHP.
- Justin Richer has developed a plugin for the Elgg social networking platform, based on the basic PHP library. This library allows Elgg to act as both an OAuth client (to access other services) and server (allowing OAuth-protected access to the Elgg API). The library supports both version 1.0 and revision 1.0a simultaneously. Documentation can be found on the Elgg wiki.
- Zend_OAuth was contributed by Pádraic Brady. The source code can be found here.
Max Countryman maintains the rauth.
It is considered the most up-to-date and unit-tested implementation of OAuth for Python.
Blaine Cook, Pelle Braendgaard and others have written a library in Ruby.
There is a great library for Scala named koauth written by Hunor Kovács. It's both for consumer and provider.
The Play framework provides a Scala implementation of OAuth 1
Aleix Conchillo Flaque has contributed guile-oauth an OAuth client module for Guile. It currently supports OAuth 1.0 and HMAC-SHA1 and PLAINTEXT authentication. It comes with a Twitter example.
Tim Fletcher published a library
Dongri Jin released OAuthSwift an OAuth client module with OAuth 1.0 and 2.0 support.
Mark Atwood is working on
mod_auth_oauth. Michael Mealling is working on support for SiteMinder. Anthony Webb and Dave Hoff of IMified are working on an OAuth ColdFusion library.
There is an XQuery OAuth Library written by Stephan Merkli and documented here.