The plugin is now a gem. Just install it with:
sudo gem install oauth-plugin
For a quick tutorial in how to use it see How to turn your rails site into an OAuth Provider.
New OAuth Consumer generator
The biggest news is the OAuth Consumer generator which should remove any excuses you ever had to not use OAuth when talking to Twitter etc. I will cover this in more the next blog post. For now checkout the README for more.
OAuth 1.0a support
The biggest change on the Provider side is support for OAuth 1.0a. There is also optional backwards compatible support for the insecure OAuth 1.0.
Please read Seth’s Idiot’s Guide to OAuth 1.0a for detailed information on what changed and why.
Nothing has changed on the OAuth 1.0a for existing AccessTokens, but if you need to support clients that only support 1.0 add the following at the bottom of your environment.rb file:
OAUTH_10_SUPPORT = true
Both consumer and provider will now create haml view templates. Just use the —haml flag.
Cleanup and easier updates
The original plugin was a really quick proof of concept, with lots of things that really needed cleaning up. I am trying to do that little by little now.
The first step of this is to have the main functionality of the OauthController in a module within the plugin. This allows you to update it easily. We will do the same for the various Token classes as well over the next few releases.
How to upgrade?
As long as you’re using git/svn or whatever the easiest way to upgrade is to run the generator and let it overwrite your existing files. Then use a diff tool to bring any changes you had done into the new code.
If you don’t like the idea of doing that check the README for what should be done. Worst comes to worst create a dummy rails project run the generator and compare files.
Do you need advise or help with implementing OAuth in your Rails application?
I am available as a consultant and would be glad to help your company out. Whether you need help in developing an OAuth strategy or in practical hands on implementation help. Send me an email at email@example.com to let me know what you need help with and I can give you an estimate and my rate.