Skip to content
This repository

JavaScript implimentation of the OAuth protocol. Currently supports version 1.0 (RFC5849) of the specification. Node.js & CommonJS compatible.

This branch is 0 commits ahead and 59 commits behind master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 build added uglify to build December 06, 2010
Octocat-spinner-32 spec
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .gitmodules adding .gitmodules for qunit submodule functionality February 05, 2011
Octocat-spinner-32 LICENCE Changed licence to MIT October 14, 2010
Octocat-spinner-32 Makefile move compression into seperate action May 04, 2011
Octocat-spinner-32 README.md
Octocat-spinner-32 Readme.build
Octocat-spinner-32 Version
README.md

jsOAuth - JavaScript OAuth library

jsOAuth is a javascript library implementing the OAuth protocol. jsOAuth aims to form the basis of custom clients such as Twitter and Yahoo.

Written in JavaScript, jsOAuth aims to be a fully featured open source OAuth library for use in Adobe AIR, Appcelerator Titanium and PhoneGAP. In fact, anywhere that javascript can be used and has cross-domain XMLHttpRequests. For security reasons jsOAuth doesn't run in the browser. Browsers are only mentioned here for running the test suite. If you need jsOAuth in the browser, write an extension.

Features

Core

  • Single authorisation entry-point
  • Debug mode for testing locally in Firefox, see index.html for example

Released under the MIT. Please see LICENSE in the project root folder for more information.

Usage

Download the minified library and include it in your html.

<script type="text/javascript" src="library/jsOAuth-1.3.1.min.js"></script>

This gives you a global OAuth object for you to set up and make requests with. Setting it up is simple.

<script type="text/javascript">
    var oauth, options;

    options = {
        enablePrivilege: true,
        consumerKey: 'ba9df9055c77f338',
        consumerSecret: '846ffe1ec3b18989e73fe7fff833'
    };

    oauth = OAuth(options);
</script>

Note: **EnablePrivilege* lets you test jsOAuth in Firefox 3, Firefox >= 5 doesn't work*
You can test in chrome using the following commandline on OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --allow-file-access-from-files --allow-file-access --user-data-dir=~/chrome-test/ spec/runner.html
On Ubuntu try /opt/google/chrome/google-chrome --disable-web-security --allow-file-access-from-files --allow-file-access --user-data-dir=~/chrome-test/ spec/runner.html

You'll need to replace the consumer key and secret with your own. Once that is done, you can make your authenticated 2-legged request.

<script type="text/javascript">
    oauth.get('http://oauth-sandbox.sevengoslings.net/two_legged', function (data) {
        alert(data);
    });
</script>

Hopefully the syntax will look familier to you, if you've used any kind of javscript framework such as jQuery.

Please let me know if jsOAuth doesn't work for you or if your application requires something jsOAuth doesn't currently support. I'm always happy to hear your suggestions. feedback@bytespider.eu

If you like jsOAuth and want to see new features, please donate.

Further reading and tutorials

Applications

Libraries

If you have a tutorial you think should be included here, please email me with links.

Building

To start developing, clone this repository and initialise the dependent git submodules by executing the following commands:

git submodule init
git submodule update

To build the entire library type make from the command line.

To build just the W3C compatible version, type make jsoauth from the command line. To build just CommonJS/Node.JS compatible module type make commonjs from the command line.

All files are compiled into the dist directory.

To start over once you have already built a copy, type make clean to delete all built distribution files

Issues

Please report all issues on the GitHub issue tracker for jsOauth.

Testing

To test I use Google Chrome

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --allow-file-access-from-files --allow-file-access spec/runner.html

Authors

  • Rob Griffiths (rob AT bytespider DOT eu)
Something went wrong with that request. Please try again.