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.

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.

PHP

Python

Max Countryman maintains the rauth. It is considered the most up-to-date and unit-tested implementation of OAuth for Python.

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.