authlogic_facebook 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|