fbdoorman 0.8.0.2 → 0.8.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -18,7 +18,7 @@ Jeweler::Tasks.new do |gem|
18
18
  gem.summary = "Rails authentication with facebook single sign-on OR email & password."
19
19
  gem.description = "Painless user registration and sign-in using Facebook single sign-on with JS. Typical email login still works too."
20
20
  gem.email = "pelaez89@gmail.com"
21
- gem.version = "0.8.0.2"
21
+ gem.version = "0.8.0.4"
22
22
  gem.homepage = "http://github.com/davidpelaez/minifb-clearance"
23
23
  gem.authors = ["Fbdoorman: David Pelaez","MiniFB: Appoxy","Clearance: Thoughtbot"]
24
24
  gem.files = FileList["[A-Z]*", "{app,config,generators,lib,shoulda_macros,rails}/**/*"]
@@ -1,31 +1,35 @@
1
1
  <div id="fb-root"></div>
2
2
  <script>
3
- window.fbAsyncInit = function() {
4
- FB.init({
5
- appId : '<%=FB_APP_ID%>', // App ID
6
- channelUrl : '<%= FB[:base_url].gsub("http:", '').gsub('https:','') %>/channel.html', // Channel File
7
- status : true, // check login status
8
- cookie : true, // enable cookies to allow the server to access the session
9
- xfbml : true // parse XFBML
10
- });
3
+ window.fbAsyncInit = function() {
4
+ FB.init({ appId: '151745734845074',
5
+ status: true,
6
+ cookie: true,
7
+ xfbml: true,
8
+ oauth: true});
11
9
 
12
- // Additional initialization code here
13
- FB.Event.subscribe('auth.login', function(response) {
14
- window.location="<%=FB_CALLBACK_URL%>";
15
- });
16
-
17
- FB.Event.subscribe('auth.logout', function(response) {
18
- // The user has logged out, and the cookie has been cleared
19
- window.location="<%=FB_CLOSED_URL%>";
20
- });
21
10
 
11
+ function manageStatus(response) {
12
+
13
+ if (response.authResponse) {
14
+ //The user is logged in
15
+ alert("YOU'r Inside");
16
+ }else{
17
+ //The user is either not logged in or hasn't authorized the app
18
+ alert("You'r session's no longer valid");
19
+ }
22
20
  };
23
21
 
24
- // Load the SDK Asynchronously
25
- (function(d){
26
- var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
27
- js = d.createElement('script'); js.id = id; js.async = true;
28
- js.src = "//connect.facebook.net/en_US/all.js";
29
- d.getElementsByTagName('head')[0].appendChild(js);
30
- }(document));
22
+ // run once with current status and whenever the status changes
23
+ FB.getLoginStatus(updateButton);
24
+ FB.Event.subscribe('auth.statusChange', updateButton);
25
+ };
26
+
27
+ //Load the FB JS SDK
28
+ (function() {
29
+ var e = document.createElement('script'); e.async = true;
30
+ e.src = document.location.protocol
31
+ + '//connect.facebook.net/en_US/all.js';
32
+ document.getElementById('fb-root').appendChild(e);
33
+ }());
34
+
31
35
  </script>
@@ -0,0 +1,22 @@
1
+ # FROM https://github.com/nsanta/fbgraph/blob/master/lib/fbgraph/canvas.rb
2
+
3
+ def parse_signed_request(request)
4
+ encoded_sig, payload = request.split('.', 2)
5
+ sig = urldecode64(encoded_sig)
6
+ data = JSON.parse(urldecode64(payload))
7
+ if data['algorithm'].to_s.upcase != 'HMAC-SHA256'
8
+ raise "Bad signature algorithm: %s" % data['algorithm']
9
+ end
10
+ expected_sig = OpenSSL::HMAC.digest('sha256', FB[:secret], payload)
11
+ if expected_sig != sig
12
+ raise "Bad signature"
13
+ end
14
+ data
15
+ end
16
+
17
+
18
+ def urldecode64(str)
19
+ encoded_str = str.tr('-_', '+/')
20
+ encoded_str += '=' while !(encoded_str.size % 4).zero?
21
+ Base64.decode64(encoded_str)
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbdoorman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0.2
4
+ version: 0.8.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -63,6 +63,7 @@ files:
63
63
  - lib/facebook_helpers.rb
64
64
  - lib/fbdoorman.rb
65
65
  - lib/mini_fb.rb
66
+ - lib/request_parser.rb
66
67
  - rails/init.rb
67
68
  homepage: http://github.com/davidpelaez/minifb-clearance
68
69
  licenses: []