devise_oauth2_canvas_facebook 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,13 +10,17 @@ class Devise::FacebookConsumerController < ApplicationController
10
10
  end
11
11
  url = send("#{resource_name}_fb_callback_url".to_sym)
12
12
  if params[:permission] && params[:go_back]
13
- url = url + "?permission=#{params[:permission]}&go_back=#{params[:go_back]}"
13
+ url = url + "?permission=#{params[:permission]}&go_back=#{params[:go_back]}&abs_url=#{params[:abs_url]}"
14
14
  elsif params[:permission]
15
15
  url = url + "?permission=#{params[:permission]}"
16
16
  elsif params[:go_back]
17
17
  url = url + "?go_back=#{params[:go_back]}"
18
18
  end
19
19
 
20
+ if params[:go_back] && params[:abs_url]
21
+ url = url + "&abs_url=#{params[:abs_url]}"
22
+ end
23
+
20
24
  uri = facebook_client.authorization.authorize_url(:redirect_uri => url, :scope => scope)
21
25
  if Devise.facebook_canvas_app
22
26
  render :layout => false, :inline => "<script type='text/javascript' charset='utf-8'>top.location.href='#{uri}';</script>"
@@ -34,6 +38,10 @@ class Devise::FacebookConsumerController < ApplicationController
34
38
  elsif params[:go_back]
35
39
  url = url + "?go_back=#{CGI::escape(params[:go_back])}"
36
40
  end
41
+
42
+ if params[:go_back] && params[:abs_url]
43
+ url = url + "&abs_url=#{params[:abs_url]}"
44
+ end
37
45
 
38
46
  client = facebook_client
39
47
  client.authorization.process_callback(params[:code], :redirect_uri => url)
@@ -66,7 +74,9 @@ class Devise::FacebookConsumerController < ApplicationController
66
74
 
67
75
  if Devise.facebook_canvas_app
68
76
  sign_in(resource_name, resource)
69
- if params[:go_back]
77
+ if params[:go_back] && params[:abs_url] == "1"
78
+ redirect_to params[:go_back]
79
+ elsif params[:go_back]
70
80
  redirect_to Devise.facebook_canvas_url + params[:go_back]
71
81
  else
72
82
  redirect_to Devise.facebook_canvas_url
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_oauth2_canvas_facebook
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 6
10
- version: 0.0.6
9
+ - 7
10
+ version: 0.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nina Jansen
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-28 00:00:00 +02:00
18
+ date: 2010-11-03 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency