class Oauth::Ok::OkAuth
Class for OAuth 2.0 on odnoklassniki.ru/
Public Class Methods
getUrlOptions()
click to toggle source
Getting auth params
return array
# File lib/oauth/ok.rb, line 39 def OkAuth.getUrlOptions @@auth_url_options end
new(auth_options)
click to toggle source
Class constructor
auth_options - array aplication options
return string
# File lib/oauth/ok.rb, line 28 def initialize(auth_options) @options = OkAuth.getUrlOptions @options = @options.merge(auth_options) end
Public Instance Methods
getAuthUrl()
click to toggle source
Getting user auth URL
return string
# File lib/oauth/ok.rb, line 49 def getAuthUrl URI::HTTP.build( :host => @options['auth_host'], :path => @options['auth_page'], :query => { :client_id => @options['client_id'], :scope => @options['scope'], :response_type => "code", :redirect_uri => @options['redirect_uri'], }.to_query ).to_s end
getUserData(code)
click to toggle source
Gettion user data
code - string access code for getting user info
return array
# File lib/oauth/ok.rb, line 83 def getUserData(code) accessUri = URI::HTTP.build( :host => @options['api_host'], :path => @options['access_token_path'], :query => { :code => code, :redirect_uri => @options['redirect_uri'], :grant_type => "authorization_code", :client_id => @options['client_id'], :client_secret => @options['client_secret'], }.to_query ) accessRequest = JSON.parse Net::HTTP.post_form(accessUri, []).body getCurrentUserUri = URI::HTTP.build( :host => @options['api_host'], :path => @options["method_url_path"], :query => { :access_token => accessRequest['access_token'], :application_key => @options['application_key'], :method => "users.getCurrentUser", :sig => self.getSig(accessRequest['access_token']) }.to_query ) JSON.parse Net::HTTP.get_response(getCurrentUserUri).body end
Protected Instance Methods
getSig(access_token)
click to toggle source
Getting SIG for request method “users.getCurrentUser”
access_token - string access token for requests api methods
return string
# File lib/oauth/ok.rb, line 70 def getSig(access_token) methodStr = 'application_key=' + @options['application_key'] + 'method=users.getCurrentUser' Digest::MD5.hexdigest(methodStr + Digest::MD5.hexdigest(access_token + @options['client_secret'])) end