Class: RubyApp::Elements::Mobile::Documents::Authentication::Facebook::AuthenticationDocument
- Inherits:
-
RubyApp::Elements::Mobile::Document
- Object
- RubyApp::Element
- RubyApp::Elements::Mobile::Document
- RubyApp::Elements::Mobile::Documents::Authentication::Facebook::AuthenticationDocument
- Defined in:
- lib/ruby_app/elements/mobile/documents/authentication/facebook/authentication_document.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from RubyApp::Elements::Mobile::Document
#links, #metadata, #pages, #scripts, #stylesheets
Attributes inherited from RubyApp::Element
Instance Method Summary collapse
- #create_identity_from_me(me) ⇒ Object
-
#initialize(permissions) ⇒ AuthenticationDocument
constructor
A new instance of AuthenticationDocument.
Methods inherited from RubyApp::Elements::Mobile::Document
Methods inherited from RubyApp::Element
Methods included from Mixins::ConfigurationMixin
Methods included from Mixins::TranslateMixin
Methods included from Mixins::TemplateMixin
#exclude_parent_template, #exclude_parent_template?, #get_cache, #get_default_template, #get_template, #get_template_name, #get_templates, #template_path
Methods included from Mixins::RenderMixin
#content_for, #get_cache, #get_default_template, #get_templates, #render
Constructor Details
#initialize(permissions) ⇒ AuthenticationDocument
Returns a new instance of AuthenticationDocument.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/facebook/authentication_document.rb', line 24 def initialize() super() self.loaded do |element, event| unless @authentication @authentication = ::Koala::Facebook::OAuth.new(ENV['FACEBOOK_ACCESS_KEY'] || RubyApp::Elements::Mobile::Documents::Authentication::Facebook::AuthenticationDocument.configuration.access_key, ENV['FACEBOOK_SECRET_KEY'] || RubyApp::Elements::Mobile::Documents::Authentication::Facebook::AuthenticationDocument.configuration.secret_key, RubyApp::Request.url) url = @authentication.url_for_oauth_code(:display => 'touch', :permissions => ) RubyApp::Log.debug("FACEBOOK --> #{url.inspect}") event.go(url) else RubyApp::Log.debug("FACEBOOK <-- #{RubyApp::Request.url.inspect}") code = RubyApp::Request.query['code'] token = @authentication.get_access_token(code) RubyApp::Log.debug("FACEBOOK token=#{token.inspect}") graph = ::Koala::Facebook::API.new(token) me = graph.get_object('me') RubyApp::Log.debug("FACEBOOK me=#{me.inspect}") RubyApp::Session.identity = self.create_identity_from_me(me) RubyApp::Session.documents.pop event.go('/') end end end |