Sha256: 20fbb2b6c570e1029c5051446a541a682c020df9823f1cb4adeb20717668fa53

Contents?: true

Size: 751 Bytes

Versions: 3

Compression:

Stored size: 751 Bytes

Contents

require 'oauth2'
class Oauth2Token < ConsumerToken

  def self.consumer
    @consumer||=create_consumer
  end

  def self.create_consumer(options={})
    @consumer||=OAuth2::Client.new credentials[:key],credentials[:secret],credentials[:options]
  end

  def self.authorize_url(callback_url)
    options = {:redirect_uri=>callback_url}
    options[:scope] = credentials[:scope] if credentials[:scope].present?
    consumer.auth_code.authorize_url(options)
  end

  def self.access_token(user, code, redirect_uri)
    access_token = consumer.auth_code.get_token(code, :redirect_uri => redirect_uri)
    find_or_create_from_access_token user, access_token
  end

  def client
    @client ||= OAuth2::AccessToken.new self.class.consumer, token
  end

end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
panjiva-oauth-plugin-0.4.1 lib/oauth/models/consumers/services/oauth2_token.rb
oauth-plugin-0.4.1 lib/oauth/models/consumers/services/oauth2_token.rb
oauth-plugin-0.4.0 lib/oauth/models/consumers/services/oauth2_token.rb