| CARVIEW |
OAuth 1 RFCs
- RFC 5849: The OAuth 1.0 Protocol - the final version of the OAuth 1.0 specification.
- OAuth Core 1.0 was released December 4, 2007.
- OAuth Core 1.0 Revision A was released June 24, 2009.
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.
C
liboauth a collection of POSIX-c functions implementing the OAuth Core RFC 5849 standard.
DotNET
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.
C#
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.
VB.NET
Nicolas Tarzia has translated Eran Sandler’s C# library into VB.NET.
ColdFusion
Harry Klein has contributed a ColdFusion library which is also listed at RIA Forge.
Common Lisp
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
Go-Oauth is an OAuth 1 client package.
OAuth1 is an OAuth 1 client takes design cues from golang.org/x/oauth2.
Java
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.
oauth1-hmac is a lightweight OAuth1.0 consumer library, using the HMAC signing strategy. It wraps Google's OAuth Client Library for Java, providing a simple API for a generic OAuth1.0 consumer. Written by Omar Tanner.
Javascript
Simeon Velichkov has written a OAuth Proxy. 200+ OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel npm package.
Ddo has contributed a OAuth 1.0a Request Authorizer (Send OAuth request with your favorite HTTP client as request, jQuery.ajax...)
John Kristian has contributed a Javascript Library.
Marco Bettiolo from 7digital has written a Javascript OAuth Signature Generator. Works in the browser and in NodeJs as a npm package.
Jifty
Shawn M Moore has written an OAuth Plugin for the Jifty Framework.
Objective-C
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.
OCaml
Jake Donham from SkyDeck has released Ooauth, an implementation of OAuth in OCaml. Discussion group.
Perl
Keith Grennan has written a Net::OAuth in Perl.
- Marcus Ramberg and Tomas Doran are working on an OAuth component for the Catalyst framework.
PHP
- 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.
Python
Max Countryman maintains the rauth. It is considered the most up-to-date and unit-tested implementation of OAuth for Python.
- OAuthlib is a generic OAuth signing library; it is neither a client nor a server, but provides signing facilities for either.
- Leah Culver has written both a library in Python 2.3 and offered an example implementation.
- David Larlet has released an OAuth Provider and Consumer for Django.
- Simon Willison released the snippet that handles OAuth in Wikinear.
- Steve Marshall wrote a comprehensive binding for Fire Eagle that implements OAuth.
- Joe Stump (SimpleGeo) maintains the python-oauth2 library on GitHub.
- Flask-OAuthlib is an OAuth/OAuth2 Client/Provider for Flask built upon oauthlib
- Flask-Dance is another OAuth extension for Flask, built using blueprints, requests, and oauthlib.
- Batista Harahap is writing an OAuth 1.0 reverse proxy available at Github here.
- oauthlib (sources on GitHub) A generic, spec-compliant, thorough implementation of the OAuth request-signing logic maintained by community.
- Authlib (sources on GitHub) An ambitious authentication library for OAuth 1, OAuth 2, OpenID clients and servers.
- Tornado has OAuth 1.0 and OAuth 2.0 Clients available as part of the core code in the Tornado Auth package
Ruby
Blaine Cook, co-author of the OAuth 1.0 specification, Pelle Braendgaard and others have written a library in Ruby. It is now maintained by Peter Boling.
Scala
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
Scheme
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.
Erlang
Tim Fletcher published a library
Swift
Dongri Jin released OAuthSwift an OAuth client module with OAuth 1.0 and 2.0 support.
Others
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.