authlogic_facebook 1.0.4 → 1.0.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/VERSION +1 -1
- data/authlogic_facebook.gemspec +2 -2
- data/lib/authlogic_facebook/session.rb +23 -14
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.5
|
data/authlogic_facebook.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{authlogic_facebook}
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Rusty Burchfield"]
|
12
|
-
s.date = %q{
|
12
|
+
s.date = %q{2010-02-23}
|
13
13
|
s.description = %q{Authlogic plugin to support Facebook without Facebooker. A small unobtrusive gem (mini_fb) is used instead.}
|
14
14
|
s.email = %q{GICodeWarrior@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -81,6 +81,10 @@ module AuthlogicFacebook
|
|
81
81
|
!self.class.facebook_secret_key.blank?
|
82
82
|
end
|
83
83
|
|
84
|
+
def redirect_to_facebook
|
85
|
+
controller.redirect_to(facebook_login_url)
|
86
|
+
end
|
87
|
+
|
84
88
|
private
|
85
89
|
def validate_by_facebook
|
86
90
|
if facebook_callback?
|
@@ -99,7 +103,7 @@ module AuthlogicFacebook
|
|
99
103
|
return self.attempted_record.save(false)
|
100
104
|
end
|
101
105
|
else
|
102
|
-
|
106
|
+
redirect_to_facebook
|
103
107
|
return false
|
104
108
|
end
|
105
109
|
end
|
@@ -116,13 +120,13 @@ module AuthlogicFacebook
|
|
116
120
|
self.class.facebook_secret_key,
|
117
121
|
'Users.getLoggedInUser', params)
|
118
122
|
break
|
119
|
-
rescue Errno::ECONNRESET
|
120
|
-
|
123
|
+
rescue Errno::ECONNRESET, EOFError => e
|
124
|
+
exception = e
|
121
125
|
end
|
122
126
|
end
|
123
127
|
|
124
128
|
if !uid
|
125
|
-
raise
|
129
|
+
raise exception
|
126
130
|
end
|
127
131
|
|
128
132
|
@facebook_session = {'uid' => uid, 'session_key' => session_key}
|
@@ -158,17 +162,22 @@ module AuthlogicFacebook
|
|
158
162
|
self.class.facebook_uid_field
|
159
163
|
end
|
160
164
|
|
165
|
+
def facebook_login_params
|
166
|
+
{'api_key' => self.class.facebook_api_key,
|
167
|
+
'req_perms' => self.class.facebook_permissions.join(','),
|
168
|
+
'next' => controller.request.url,
|
169
|
+
'v' => '1.0',
|
170
|
+
'connect_display' => 'popup',
|
171
|
+
'fbconnect' => 'true',
|
172
|
+
'return_session' => 'true'}
|
173
|
+
end
|
174
|
+
|
161
175
|
def facebook_login_url
|
162
|
-
params =
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
'fbconnect' => 'true',
|
168
|
-
'return_session' => 'true'}
|
169
|
-
|
170
|
-
url = 'http://www.facebook.com/login.php?'
|
171
|
-
url << params.map{|k,v| "#{k}=#{CGI.escape(v)}"}.join('&')
|
176
|
+
params = facebook_login_params.map do |key, value|
|
177
|
+
"#{CGI.escape(key)}=#{CGI.escape(value)}"
|
178
|
+
end
|
179
|
+
|
180
|
+
"http://www.facebook.com/login.php?#{params.join('&')}"
|
172
181
|
end
|
173
182
|
end
|
174
183
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: authlogic_facebook
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rusty Burchfield
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-02-23 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|