facebooker2 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,7 +28,7 @@ module Facebooker2
28
28
  return if @_fb_user_fetched
29
29
  # Try to authenticate from the signed request first
30
30
  sig = fetch_client_and_user_from_signed_request
31
- sig = fetch_client_and_user_from_cookie unless @_current_facebook_client
31
+ sig = fetch_client_and_user_from_cookie if @_current_facebook_client.nil? and !signed_request_from_logged_out_user?
32
32
 
33
33
  #write the authentication params to a new cookie
34
34
  if !@_current_facebook_client.nil?
@@ -92,6 +92,12 @@ module Facebooker2
92
92
  generate_signature(hash,secret) == hash["sig"]
93
93
  end
94
94
 
95
+ # If the signed request is valid but contains no oauth token,
96
+ # the user is either logged out from Facebook or has not authorized the app
97
+ def signed_request_from_logged_out_user?
98
+ !facebook_params.empty? && facebook_params[:oauth_token].nil?
99
+ end
100
+
95
101
  # compute the md5 sig based on access_token,expires,uid, and the app secret
96
102
  def generate_signature(hash,secret)
97
103
  sorted_keys = hash.keys.reject {|k| k=="sig"}.sort
@@ -188,6 +194,14 @@ module Facebooker2
188
194
  #My browser doesn't seem to save the cookie if I set expires
189
195
  cookies[fb_cookie_name] = { :value=>value }#, :expires=>expires}
190
196
  end
197
+
198
+
199
+ # For canvas apps, You need to set the p3p header in order to get IE 6/7 to accept the third-party cookie
200
+ # For details http://www.softwareprojects.com/resources/programming/t-how-to-get-internet-explorer-to-use-cookies-inside-1612.html
201
+ def set_p3p_header_for_third_party_cookies
202
+ response.headers['P3P'] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'
203
+ end
204
+
191
205
  end
192
206
  end
193
207
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facebooker2
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 10
10
- version: 0.0.10
9
+ - 11
10
+ version: 0.0.11
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mike Mangino
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-11 00:00:00 -05:00
18
+ date: 2011-04-01 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency