class HerokuSso::CustomStrategy
Public Instance Methods
authenticate!()
click to toggle source
# File lib/devise-heroku-sso.rb, line 9 def authenticate! resource = mapping.to.find_for_authentication(:id => id) return authentication_result_for resource end
valid?()
click to toggle source
# File lib/devise-heroku-sso.rb, line 5 def valid? valid_token? && !token_expired? end
Private Instance Methods
authentication_result_for(resource)
click to toggle source
# File lib/devise-heroku-sso.rb, line 20 def authentication_result_for resource resource ? success_authentication(resource) : fail! end
id()
click to toggle source
# File lib/devise-heroku-sso.rb, line 31 def id params[:id].to_i end
pre_token()
click to toggle source
# File lib/devise-heroku-sso.rb, line 35 def pre_token "#{params[:id]}:#{sso_salt}:#{params[:timestamp]}" end
sso_salt()
click to toggle source
# File lib/devise-heroku-sso.rb, line 16 def sso_salt ENV['HEROKU_SSO_SALT'] || ENV['SSO_SALT'] end
success_authentication(resource)
click to toggle source
# File lib/devise-heroku-sso.rb, line 24 def success_authentication resource cookies['heroku-nav-data'] = { :value => params['nav-data'], :path => '/' , :expires => 24.hours.from_now } success!(resource) end
token()
click to toggle source
# File lib/devise-heroku-sso.rb, line 39 def token Digest::SHA1.hexdigest(pre_token).to_s end
token_expired?()
click to toggle source
# File lib/devise-heroku-sso.rb, line 47 def token_expired? params[:timestamp].to_i < (Time.now - 5.minutes).to_i end
valid_token?()
click to toggle source
# File lib/devise-heroku-sso.rb, line 43 def valid_token? token == params[:token] end