Giter Site home page Giter Site logo

oauth-dancer's Introduction

Welcome to the OAuth Dance!

This tool is for everyone who ever wanted to jump out of a window thanks to OAuth.
This tool is for everyone who likes to look at more debug information on API REST requests than you can shake a stick at.
This tool is for you.

This is a Ruby on Rails application that you run on your own machine. It uses a SQLite database to be portable and very easy to setup.

The tool is young, and doesn't contain tests. I'm not perfect, but I know tools like this very well. When something breaks, I'll try to fix it quickly.

Today, you can at the very least use this tool to interface with the Twitter API and the LinkedIn API. Any OAuth 1.0a compliant service provider should do.

One of the best things to use this tool for is generating "golden examples" of API requests and OAuth dances using your very own credentials. Then you can go back to the implementation you're working on, input all the variables that were at play and smash them bugs dead!

Also suitable for testing against local, development, and test environments.

Here are some of the features it currently supports:
  * It allows you to define Service Providers, and the consumer keys and secrets associated with them.
  * It allows you to authenticate against Service Providers, starting with acquiring a request token, then authorizing, then getting an access tokens.
  * Access Tokens are persisted so you can use them again later for more requests.
  * Make arbitrary API calls against a Service Provider by specifying the URL, HTTP Method, and a POST body of any Content-Type
  * SQLite back-end makes your database portable and saves you in DB setup time
  * XAuth support
  * Set HTTP headers for a request arbitrarily
  * Two-legged OAuth with no access or request tokens
  * Follows xoauth_request_auth_url params given in a request tokens step
  * Override oauth_nonce and oauth_timestamp on API requests to recreate scenarios

How To Install
  * Clone this project, then step into the oauth-dance
  * Run rake db:create:all to create your databases
  * Run rake db:migrate to migrate the database to the proper structures
  * Run ./script/server and browse to http://localhost:3000 to make it all happen

Upcoming Features

  * Querystring-based OAuth support
  * Manipulate the OAuth steps to test unusual scenarios
  * Out of Band mode support

Some "newer" OAuth features are already supported if you turn your head and squint your eye "just right."

Be good with this tool. Don't use it for bad purposes. Don't host it on the internet trying to collect the OAuth secrets of poor souls who don't know better. This is the policy. By downloading this, you agree that you won't do anything I'd disapprove of with this tool.

"Hold me closer, OAuth Dancer. Now it's in you, always with you, an OAuth Dancer for your hand..."

Taylor Singletary
http://www.twitter.com/episod
http://www.linkedin.com/in/taylorsingletary

oauth-dancer's People

Contributors

episod avatar

Stargazers

Jeremy Johnstone avatar

Watchers

Jeremy Johnstone avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.