module Facebook::Access::Helper

Public Instance Methods

access_token_from_code() click to toggle source
# File lib/facebook/access/helper.rb, line 9
def access_token_from_code
  session[:oauth].get_access_token(code) 
end
auth_provider() click to toggle source
# File lib/facebook/access/helper.rb, line 57
def auth_provider
  params[:provider] || 'facebook'
end
auth_url() click to toggle source
# File lib/facebook/access/helper.rb, line 39
def auth_url
  @auth_url
end
cookies_access_token() click to toggle source
# File lib/facebook/access/helper.rb, line 25
def cookies_access_token
  @cookies_access_token ||= session[:oauth].get_user_info_from_cookies(cookies)
end
fb_app() click to toggle source
# File lib/facebook/access/helper.rb, line 43
def fb_app
  Facebook::App.instance
end
fb_graph() click to toggle source
# File lib/facebook/access/helper.rb, line 47
def fb_graph
  @fb_graph ||= graph_api.new session
  log! 'fb_graph', @fb_graph
  @fb_graph
end
fb_login(permissions = nil) click to toggle source
# File lib/facebook/access/helper.rb, line 13
def fb_login permissions = nil
  session[:oauth] = oauth_api.new(fb_app.identifier, fb_app.secret, fb_app.site_url + fb_app.callback_path)                
  log! 'session-oath', session[:oauth]
  @auth_url =  session[:oauth].url_for_oauth_code(:permissions=> permissions || fb_app.default_permissions)
  log! 'auth_url', @auth_url
end
fb_login!(permissions = nil) click to toggle source
# File lib/facebook/access/helper.rb, line 20
def fb_login! permissions = nil
  fb_login permissions
  redirect_to auth_url        
end
fb_my_id() click to toggle source
# File lib/facebook/access/helper.rb, line 53
def fb_my_id
  @fb_my_id ||= fb_graph.my_id
end
fb_retrieve_access_token() click to toggle source
# File lib/facebook/access/helper.rb, line 4
def fb_retrieve_access_token
  session[:access_token] = has_code? ? access_token_from_code : cookies_access_token
  log! 'session-access_token', session[:access_token]
end
real_time_updates() click to toggle source
# File lib/facebook/access/helper.rb, line 35
def real_time_updates
  @updates = Facebook.updates_api.new(:app_id => fb_app.identifier, :secret => fb_app.secret)
end
registration() click to toggle source
# File lib/facebook/access/helper.rb, line 67
def registration
  signed_request.registration
end
signed_request() click to toggle source

for FB Registration plugin see developers.facebook.com/docs/plugins/registration/

# File lib/facebook/access/helper.rb, line 63
def signed_request
  Hashie::Mash.new decoded_signed_request
end
user_access_token() click to toggle source
# File lib/facebook/access/helper.rb, line 29
def user_access_token
  @user_access_token ||= user_cookie_info["access_token"]
  log! 'user cookie access_token', @user_access_token
  @user_access_token
end

Protected Instance Methods

auth_logging?() click to toggle source
# File lib/facebook/access/helper.rb, line 90
def auth_logging?
  Facebook::Starterkit.logging?
end
auth_sessions?() click to toggle source
# File lib/facebook/access/helper.rb, line 81
def auth_sessions?
  session[:access_token] && session[:oauth]
end
code() click to toggle source
# File lib/facebook/access/helper.rb, line 77
def code
  params[:code]
end
decoded_signed_request() click to toggle source

acknowledgement.co.uk/post/Decoding-and-Accessing-The-signed_request-Parameter-in-Rails/247

# File lib/facebook/access/helper.rb, line 104
def decoded_signed_request
  @decoded_signed_request ||= decoder.decode params['signed_request']
  log! 'decoded_signed_request', @decoded_signed_request
  @decoded_signed_request
end
decoder() click to toggle source
# File lib/facebook/access/helper.rb, line 110
def decoder
  @decoder ||= Decoder.new
end
graph_api() click to toggle source

Custom GraphAPI wrapper

# File lib/facebook/access/helper.rb, line 99
def graph_api
  Facebook::GraphApi
end
has_code?() click to toggle source
# File lib/facebook/access/helper.rb, line 73
def has_code?
  params[:code]
end
log!(title, msg) click to toggle source
# File lib/facebook/access/helper.rb, line 85
def log! title, msg
  msg = msg.kind_of?(String) ? msg : msg.inspect
  puts "#{title}: #{msg}" if auth_logging?
end
oauth_api() click to toggle source
# File lib/facebook/access/helper.rb, line 94
def oauth_api
  Koala::Facebook::OAuth
end