module Sinatra::Persona
Public Class Methods
registered(app)
click to toggle source
# File lib/sinatra_persona.rb, line 9 def self.registered(app) app.helpers Persona::Helpers app.post '/auth/persona_verifier' do assertion = params[:assertion] audience = request.host_with_port verifier_uri = settings.respond_to?(:persona_verifier_uri) ? settings.persona_verifier_uri : nil email = ::Persona::Verifier.verify_assertion(assertion, audience, verifier_uri: verifier_uri) if email.nil? session.delete(:persona) else session[:persona] = email end if session.respond_to? :after_persona_redirect redirect to settings.after_persona_redirect else redirect to '/' end end end