class Devise::Strategies::BrowseridAuthenticatable
Public Class Methods
browserid_url()
click to toggle source
# File lib/devise_browserid_authenticatable/strategy.rb, line 35 def self.browserid_url Devise.browserid_url end
Public Instance Methods
authenticate!()
click to toggle source
# File lib/devise_browserid_authenticatable/strategy.rb, line 22 def authenticate! u = mapping.to.find_by_email(@asserted['email']) unless u password = Devise.friendly_token u = mapping.to.new(:email => @asserted['email'], :password => password, :password_confirmation => password) u.skip_confirmation! if u.respond_to?(:skip_confirmation!) u.save! end success!(u) end
valid?()
click to toggle source
# File lib/devise_browserid_authenticatable/strategy.rb, line 5 def valid? unless params[:assertion] return false end http = Net::HTTP.new(Devise::Strategies::BrowseridAuthenticatable.browserid_url, 443) http.use_ssl = true verification_request = Net::HTTP::Post.new('/verify') verification_request.set_form_data({:assertion => params[:assertion], :audience => request.host_with_port}) response = http.request(verification_request) @asserted = JSON.parse(response.body) (@asserted['status'] == 'okay') and (@asserted['audience'] == request.host_with_port) end