Class: RubyApp::Elements::Mobile::Documents::Authentication::OpenId::AuthenticationDocument
- Inherits:
-
RubyApp::Elements::Mobile::Document
- Object
- RubyApp::Element
- RubyApp::Elements::Mobile::Document
- RubyApp::Elements::Mobile::Documents::Authentication::OpenId::AuthenticationDocument
- Defined in:
- lib/ruby_app/elements/mobile/documents/authentication/open_id/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_response(response) ⇒ Object
-
#initialize(identifier) ⇒ AuthenticationDocument
constructor
A new instance of AuthenticationDocument.
- #process_request(request) ⇒ Object
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(identifier) ⇒ 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 52 53 54 55 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/open_id/authentication_document.rb', line 24 def initialize(identifier) super() self.loaded do |element, event| unless @consumer @consumer = ::OpenID::Consumer.new(RubyApp::Session.data, nil) request = @consumer.begin(identifier) self.process_request(request) url = request.redirect_url(RubyApp::Request.url, RubyApp::Request.url) RubyApp::Log.debug("OPENID --> #{url.inspect}") event.go(url) else RubyApp::Log.debug("OPENID <-- #{RubyApp::Request.url.inspect}") RubyApp::Request.query.each do |name, value| RubyApp::Log.debug("OPENID #{name}=#{value}") end response = @consumer.complete(RubyApp::Request.query, RubyApp::Request.url) case response.status when ::OpenID::Consumer::SUCCESS RubyApp::Session.identity = self.create_identity_from_response(response) RubyApp::Log.info("OPENID RubyApp::Session.identity.url=#{RubyApp::Session.identity.url.inspect}") when ::OpenID::Consumer::FAILURE RubyApp::Log.error("OPENID #{response.class}") RubyApp::Log.error("OPENID #{response..inspect}") end RubyApp::Session.documents.pop event.go('/') end end end |
Instance Method Details
#create_identity_from_response(response) ⇒ Object
60 61 62 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/open_id/authentication_document.rb', line 60 def create_identity_from_response(response) RubyApp::Session::Identity.new(response.identity_url) end |
#process_request(request) ⇒ Object
57 58 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/open_id/authentication_document.rb', line 57 def process_request(request) end |