Class: RubyApp::Elements::Pages::Authentication::OpenID::Base::BaseAuthenticationPage
- Inherits:
-
RubyApp::Elements::Page
- Object
- RubyApp::Element
- Base::BasePage
- RubyApp::Elements::Page
- RubyApp::Elements::Pages::Authentication::OpenID::Base::BaseAuthenticationPage
- Defined in:
- lib/ruby_app/elements/pages/authentication/open_id/base/base_authentication_page.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Base::BasePage
Attributes inherited from RubyApp::Element
Instance Method Summary collapse
- #create_identity_from_response(response) ⇒ Object
-
#initialize(identifier) ⇒ BaseAuthenticationPage
constructor
A new instance of BaseAuthenticationPage.
- #process_request(request) ⇒ Object
Methods inherited from RubyApp::Element
Methods included from Mixins::ConfigureMixin
Methods included from Mixins::TranslateMixin
Methods included from Mixins::TemplateMixin
#exclude_parent_template, #exclude_parent_template?, #get_templates, #template_name, #template_path
Methods included from Mixins::RenderMixin
#clear_content_for, #content_for, #render, #rendered?
Constructor Details
#initialize(identifier) ⇒ BaseAuthenticationPage
Returns a new instance of BaseAuthenticationPage.
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 |
# File 'lib/ruby_app/elements/pages/authentication/open_id/base/base_authentication_page.rb', line 26 def initialize(identifier) super() self.loaded do |element, event| if RubyApp::Request.query.empty? @consumer = ::OpenID::Consumer.new(RubyApp::Session.data, nil) RubyApp::Log.debug("#{self.class}#loaded identifier=#{identifier.inspect}") request = @consumer.begin(identifier) self.process_request(request) event.go(request.redirect_url(RubyApp::Request.url, RubyApp::Request.url)) else response = @consumer.complete(RubyApp::Request.query, RubyApp::Request.url) RubyApp::Log.debug("#{self.class}#loaded response.class=#{response.class}") case response.status when ::OpenID::Consumer::SUCCESS RubyApp::Log.debug("#{self.class}#loaded response.identity_url=#{response.identity_url.inspect}") RubyApp::Session.identity = self.create_identity_from_response(response) RubyApp::Session.pages.pop event.refresh when ::OpenID::Consumer::CANCEL RubyApp::Session.pages.pop event.refresh when ::OpenID::Consumer::FAILURE RubyApp::Log.debug("#{self.class}#loaded response=#{response.inspect}") end end end end |
Instance Method Details
#create_identity_from_response(response) ⇒ Object
59 60 61 |
# File 'lib/ruby_app/elements/pages/authentication/open_id/base/base_authentication_page.rb', line 59 def create_identity_from_response(response) RubyApp::Session::Identity.new(response.identity_url) end |
#process_request(request) ⇒ Object
56 57 |
# File 'lib/ruby_app/elements/pages/authentication/open_id/base/base_authentication_page.rb', line 56 def process_request(request) end |