Sha256: 62a3112ababc184ab13c6c822d99304de6bcea71815c2e28507ce7c79bf5ad3a
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
require 'gapps_openid' module Gappster def self.included(base) base.extend(ClassMethods) end module ClassMethods def gappster_authentication(domain, more_options={}) options = { :openid_url => "https://www.google.com/accounts/o8/site-xrds?hd=#{domain}", :session_var => 'gapps_email', :success_path => :root, :failure_path => :fail } options.merge(more_options) define_method("authenticate_with_gapps") do open_id_authentication(options[:openid_url], options[:success_path], options[:failure_path], options[:session_var]) end end end module InstanceMethods def open_id_authentication(openid_url, gapps_success_path, gapps_failure_path, session_var) authenticate_with_open_id(openid_url, :required => ['http://axschema.org/contact/email']) do |result, identity_url, sreg, ax| if result.successful? session[session_var] = ax['http://axschema.org/contact/email'] redirect_to gapps_success_path else redirect_to gapps_failure_path end end end end end class ActionController::Base include Gappster include Gappster::InstanceMethods end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gappster-0.0.1 | lib/gappster.rb |