Class: RubyApp::Elements::Mobile::Documents::Authentication::OpenId::AuthenticationDocument
- Inherits:
-
AuthenticationDocument
- Object
- RubyApp::Element
- RubyApp::Elements::Mobile::Document
- AuthenticationDocument
- 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
- #process_response(response) ⇒ 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 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/open_id/authentication_document.rb', line 24 def initialize(identifier) super() self.page.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.environment[RubyApp::Elements::Mobile::Documents::Authentication::AuthenticationDocument.configuration.return_to], RubyApp::Request.environment[RubyApp::Elements::Mobile::Documents::Authentication::AuthenticationDocument.configuration.return_to]) RubyApp::Log.info("OPENID --> #{url.inspect}") event.go(url) else RubyApp::Log.info("OPENID <-- #{RubyApp::Request.url.inspect}") response = @consumer.complete(RubyApp::Request.query, RubyApp::Request.environment[RubyApp::Elements::Mobile::Documents::Authentication::AuthenticationDocument.configuration.return_to]) case response.status when ::OpenID::Consumer::SUCCESS self.process_response(response) when ::OpenID::Consumer::FAILURE RubyApp::Log.error("OPENID #{response.class}") RubyApp::Log.error("OPENID #{response..inspect}") raise RubyApp::Exceptions::AuthenticationFailedException.new(response.) end self.hide(event) end end end |
Instance Method Details
#create_identity_from_response(response) ⇒ Object
61 62 63 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/open_id/authentication_document.rb', line 61 def create_identity_from_response(response) return RubyApp::Session::Identity.new(response.identity_url) end |
#process_request(request) ⇒ Object
54 55 |
# File 'lib/ruby_app/elements/mobile/documents/authentication/open_id/authentication_document.rb', line 54 def process_request(request) end |