module Passage::OpenIDHelpers
Public Instance Methods
openid_positive_assertion(oidreq, identity, details)
click to toggle source
# File lib/passage/open_id.rb, line 7 def openid_positive_assertion(oidreq, identity, details) oidresp = oidreq.answer(true, nil, identity) add_sreg(oidreq, oidresp, identity, details) oidresp end
openid_response(oidresp)
click to toggle source
# File lib/passage/open_id.rb, line 13 def openid_response(oidresp) if oidresp.needs_signing signed_response = server.signatory.sign(oidresp) end web_response = server.encode_response(oidresp) case web_response.code when HTTP_REDIRECT redirect web_response.headers['location'] else web_response.body end end
server()
click to toggle source
# File lib/passage/open_id.rb, line 27 def server if @server.nil? dir = Pathname.new(".").join('db').join('openid-store') store = OpenID::Store::Filesystem.new(dir) @server = Server.new(store, server_url) end return @server end
server_url()
click to toggle source
# File lib/passage/open_id.rb, line 36 def server_url "#{request.scheme}://#{request.host}:#{request.port}/" end
Private Instance Methods
add_sreg(oidreq, oidresp, identity, details)
click to toggle source
# File lib/passage/open_id.rb, line 41 def add_sreg(oidreq, oidresp, identity, details) return if details.nil? sregreq = OpenID::SReg::Request.from_openid_request(oidreq) return if sregreq.nil? p details sregresp = OpenID::SReg::Response.extract_response(sregreq, details) oidresp.add_extension(sregresp) end