tsaleh (owner)

Revisions

gist: 127397 Download_button fork
public
Public Clone URL: git://gist.github.com/127397.git
controller.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
      def fb_cookie_prefix
        Facebooker.api_key+"_"
      end
 
      def fb_cookie_names
        fb_cookie_names = cookies.keys.select{|k| k.starts_with?(fb_cookie_prefix)}
      end
 
      def secure_with_cookies!
          parsed = {}
          
          fb_cookie_names.each { |key| parsed[key[fb_cookie_prefix.size,key.size]] = cookies[key] }
 
          #returning gracefully if the cookies aren't set or have expired
          return unless parsed['session_key'] && parsed['user'] && parsed['expires'] && parsed['ss']
          return unless Time.at(parsed['expires'].to_s.to_f) > Time.now || (parsed['expires'] == "0")
          #if we have the unexpired cookies, we'll throw an exception if the sig doesn't verify
          verify_signature(parsed,cookies[Facebooker.api_key])
          
          @facebook_session = new_facebook_session
          @facebook_session.secure_with!(parsed['session_key'],parsed['user'],parsed['expires'],parsed['ss'])
          @facebook_session
      end