lib/sorcery/protocols/oauth.rb
require 'oauth'
module Sorcery
module Protocols
module Oauth
def oauth_version
'1.0'
end
def get_request_token(token=nil,secret=nil)
return ::OAuth::RequestToken.new(get_consumer, token, secret) if token && secret
get_consumer.get_request_token(oauth_callback: @callback_url)
end
def authorize_url(args)
get_request_token(
args[:request_token],
args[:request_token_secret]
).authorize_url({
oauth_callback: @callback_url
})
end
def get_access_token(args)
get_request_token(
args[:request_token],
args[:request_token_secret]
).get_access_token({
oauth_verifier: args[:oauth_verifier]
})
end
protected
def get_consumer
::OAuth::Consumer.new(@key, @secret, site: @site)
end
end
end
end