class OauthIm

Public Instance Methods

auth_request(step = :step1, add_params = nil) click to toggle source
# File lib/oauth/oauth_im.rb, line 2
def auth_request step = :step1, add_params = nil

  uri = URI CONFIG[:oauth][@name][:auth][step][:uri]
  params = CONFIG[:oauth][@name][:auth][:united_params].merge(CONFIG[:oauth][@name][:auth][step].except(:uri)).merge({redirect_uri: @verify_url, state: @key})
  # для второго шага
  params.merge!(add_params) unless add_params.nil?

  case step
    when :step1
      uri.query = URI.encode_www_form params
      uri.to_s
    when :step2
      oauth_access_card_params Net::HTTP.post_form uri, params
  end

end
oauth_access_card_params(result) click to toggle source
# File lib/oauth/oauth_im.rb, line 19
def oauth_access_card_params result
  begin
    params = ActiveSupport::JSON.decode(result.body)

    unless params['error'].present?
      # add_info = user_self({access_token: params['access_token']})
      {
          state: :ok,
          oauth_name: @name,
          oauth_uid: params['user']['id'],
          access_token: params['access_token'],
          token_expired: DateTime.now + 30.days,
          photourl: params['user']['profile_picture']
      }
    else
      error_response "#{params['error']} #{params['error_reason']} #{params['error_description']}"
    end
  rescue Exception => error
    error_response "rescue #{error.message} #{params} #{result.body}"
  end
end
user_self(access_params) click to toggle source
# File lib/oauth/oauth_im.rb, line 41
def user_self access_params
  uri = URI CONFIG[:oauth][@name][:api][:passport][:uri]
  params = CONFIG[:oauth][@name][:api][:passport][:params]
  params.merge!(access_params) unless access_params.nil?
  uri.query = URI.encode_www_form params
  result = Net::HTTP.get_response uri

  ActiveSupport::JSON.decode(result.body)
end