doesfacebook 0.5.4 → 0.5.5
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.
- data/README.rdoc +8 -0
- data/lib/doesfacebook.rb +3 -3
- data/lib/doesfacebook/filters.rb +13 -0
- metadata +6 -6
data/README.rdoc
CHANGED
@@ -75,6 +75,14 @@ This allows your application to verify and properly handle requests from Faceboo
|
|
75
75
|
additional data and parameters your app is sent by Facebook, such as the current user ID, active
|
76
76
|
Facebook page, and more.
|
77
77
|
|
78
|
+
By default, to enhance your iframe development, the "signed_request" parameter from Facebook will be
|
79
|
+
stuffed into the session and subsequent requests that lack a "signed_request" parameter (links from
|
80
|
+
your internal iframe clicks, perhaps), will used this signed_request. This allows you to build a canvas
|
81
|
+
or page tab application like any other web application and not worry about passing around the signed_request
|
82
|
+
parameter yourself.
|
83
|
+
|
84
|
+
does_facebook :session=>false # <== Use this invocation to prevent session stuffing
|
85
|
+
|
78
86
|
Within your controllers which declare _does_facebook_ (or inherit from a controller which does), you
|
79
87
|
will now have access to the following niceties:
|
80
88
|
|
data/lib/doesfacebook.rb
CHANGED
@@ -40,13 +40,13 @@ module ActionController
|
|
40
40
|
|
41
41
|
# Call this method within your controller to parse configuration and enabled
|
42
42
|
# session validation and parsing
|
43
|
-
def self.does_facebook
|
43
|
+
def self.does_facebook(opts={})
|
44
44
|
self.instance_eval do
|
45
45
|
include DoesFacebook::Config
|
46
46
|
include DoesFacebook::Controls
|
47
47
|
include DoesFacebook::Filters
|
48
|
-
prepend_before_filter :parse_signed_request
|
49
|
-
prepend_before_filter :
|
48
|
+
prepend_before_filter :parse_signed_request, :validate_signed_request
|
49
|
+
prepend_before_filter :sessionify_signed_request unless opts[:session]==false
|
50
50
|
helper :does_facebook
|
51
51
|
|
52
52
|
protected
|
data/lib/doesfacebook/filters.rb
CHANGED
@@ -8,6 +8,19 @@ module DoesFacebook
|
|
8
8
|
|
9
9
|
protected
|
10
10
|
|
11
|
+
# Captures a signed_request parameter and manipulates the session to allow for
|
12
|
+
# a signed_request to be passed from iframe request to iframe request
|
13
|
+
def sessionify_signed_request
|
14
|
+
if request_parameter = request.params["signed_request"]
|
15
|
+
session[:signed_request] = request_parameter
|
16
|
+
logger.info " Facebook Signed Request received. Stored/updated in session."
|
17
|
+
else
|
18
|
+
params["signed_request"] = session[:signed_request]
|
19
|
+
logger.info " No Facebook Signed Request received. Loaded, if present, from session."
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
|
11
24
|
# Ensures, using configuration options, that the request was signed by Facebook
|
12
25
|
def validate_signed_request
|
13
26
|
if request_parameter = request.params["signed_request"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doesfacebook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-18 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
16
|
-
requirement: &
|
16
|
+
requirement: &2152342760 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.0.0
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2152342760
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: jeweler
|
27
|
-
requirement: &
|
27
|
+
requirement: &2152340860 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: 1.5.1
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2152340860
|
36
36
|
description: Paper-thin Facebook validation and signed request parsing Rails plugin
|
37
37
|
email: info@awexomelabs.com
|
38
38
|
executables: []
|