I’m developing OAuth/xAuth Service Provider using OAuth / OAuth-Plugin.
pelle/oauth-plugin – GitHub
Since OAuth-Plugin doesn’t support xAuth, I decided to create a program to support it.
I’ll write an entry about xAuth support, before that, I write this entry about sample of using xAuth in Ruby.
You need to install Ruby OAuth Gem.
require 'oauth' CONSUMER_KEY = 'Your-Consumer-Key' CONSUMER_SECRET = 'Your-Consumer-Secret' def get_access_token consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => 'Your-OAUTH-Provider-URL') access_token = consumer.get_access_token(nil, {}, { :x_auth_mode => 'client_auth', :x_auth_username => 'Your-User-Name', :x_auth_password => 'Your-Password' }) [access_token.token, access_token.secret] end def access_api(token, secret) consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => 'Your-OAuth-Provider-URL') access_token = OAuth::AccessToken.new(consumer, token, secret) access_token.get('Your-API-URL') end token, secret = get_access_token p "token: #{token}" p "secret: #{secret}" response = access_api(token, secret) p response