class FbGraph2::Auth

Public Class Methods

new(client_id, client_secret, options = {}) click to toggle source
Calls superclass method
# File lib/fb_graph2/auth.rb, line 11
def initialize(client_id, client_secret, options = {})
  super options.merge(
    identifier: client_id,
    secret: client_secret,
    host: URI.parse(FbGraph2.root_url).host,
    authorization_endpoint: File.join('/', FbGraph2.api_version, '/oauth/authorize'),
    token_endpoint: File.join('/', FbGraph2.api_version, '/oauth/access_token'),
    client_code_endpoint: File.join('/', FbGraph2.api_version, '/oauth/client_code')
  )
end

Public Instance Methods

access_token!(options = {}) click to toggle source
Calls superclass method
# File lib/fb_graph2/auth.rb, line 28
def access_token!(options = {})
  super options.merge(
    client_auth_method: :body
  )
rescue Rack::OAuth2::Client::Error => e
  raise Exception.detect(e.status, e.response)
end
client_code!(access_token, options = {}) click to toggle source
# File lib/fb_graph2/auth.rb, line 36
def client_code!(access_token, options = {})
  params = {
    access_token: access_token,
    client_id: identifier,
    client_secret: secret,
    redirect_uri: redirect_uri
  }.merge(options)
  response = Rack::OAuth2.http_client.post(
    absolute_uri_for(client_code_endpoint),
    params
  )
  response_json = JSON.parse(response.body).with_indifferent_access
  case response.status
  when 200..201
    response_json
  else
    raise Exception.detect(response.status, response_json)
  end
end
debug_token!(input_token) click to toggle source
# File lib/fb_graph2/auth.rb, line 56
def debug_token!(input_token)
  token_metadata = TokenMetadata.new
  token_metadata.authenticate access_token!
  token_metadata.fetch(
    input_token: input_token.to_s
  )
end
fb_exchange_token=(access_token) click to toggle source
# File lib/fb_graph2/auth.rb, line 22
def fb_exchange_token=(access_token)
  @grant = Grant::FbExchangeToken.new(
    fb_exchange_token: access_token
  )
end
from_signed_request(token) click to toggle source
# File lib/fb_graph2/auth.rb, line 74
def from_signed_request(token)
  SignedRequest.new(token).verify! self
end