omniauth-facebook 1.0.0.rc2 → 1.0.0

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.

Potentially problematic release.


This version of omniauth-facebook might be problematic. Click here for more details.

@@ -1,6 +1,7 @@
1
1
  rvm:
2
2
  - 1.8.7
3
3
  - 1.9.2
4
+ - 1.9.3
4
5
  - jruby
5
6
  branches:
6
7
  only:
data/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
1
  source :rubygems
2
2
 
3
3
  gemspec
4
-
5
- gem 'omniauth-oauth2', :git => 'git://github.com/intridea/omniauth-oauth2.git'
data/README.md CHANGED
@@ -2,30 +2,100 @@
2
2
 
3
3
  This gem contains the Facebook strategy for OmniAuth 1.0.
4
4
 
5
+ Supports the OAuth 2.0 server-side flow. Read the Facebook docs for more details: http://developers.facebook.com/docs/authentication
6
+
5
7
  ## Installing
6
8
 
7
9
  Add to your `Gemfile`:
8
10
 
9
11
  ```ruby
10
- gem 'omniauth-facebook', '~> 1.0.0.rc1'
12
+ gem 'omniauth-facebook'
11
13
  ```
12
14
 
13
15
  Then `bundle install`.
14
16
 
15
- ## Supported Flows
17
+ ## Usage
18
+
19
+ `OmniAuth::Strategies::Facebook` is simply a Rack middleware. Read the OmniAuth 1.0 docs for detailed instructions: https://github.com/intridea/omniauth.
20
+
21
+ Here's a quick example, adding the middleware to a Rails app in `config/initializers/omniauth.rb`:
22
+
23
+ ```ruby
24
+ Rails.application.config.middleware.use OmniAuth::Builder do
25
+ provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET']
26
+ end
27
+ ```
28
+
29
+ ## Configuring
30
+
31
+ You can configure several options, which you pass in to the `provider` method via a `Hash`:
32
+
33
+ * `scope`: A comma-separated list of permissions you want to request from the user. See the Facebook docs for a full list of available permissions: http://developers.facebook.com/docs/reference/api/permissions. Default: `email,offline_access`
34
+ * `display`: The display context to show the authentication page. Options are: `page`, `popup`, `iframe`, `touch` and `wap`. Read the Facebook docs for more details: http://developers.facebook.com/docs/reference/dialogs#display. Default: `page`
16
35
 
17
- Supports the Server-side Flow as described in the the Facebook docs:
18
- http://developers.facebook.com/docs/authentication
36
+ For example, to request `email`, `offline_access` and `read_stream` permissions and display the authentication page in a popup window:
37
+
38
+ ```ruby
39
+ Rails.application.config.middleware.use OmniAuth::Builder do
40
+ provider :facebook, ENV['FACEBOOK_KEY'], ENV['FACEBOOK_SECRET'], :scope => 'email,offline_access,read_stream', :display => 'popup'
41
+ end
42
+ ```
43
+
44
+ *NB.* If you want to set the `display` format on a per-request basis, you can just pass it to the OmniAuth request phase URL, for example: `/auth/facebook?display=popup`.
45
+
46
+ ## Authentication Hash
47
+
48
+ Here's an example *Authentication Hash* available in `request.env['omniauth.auth']`:
49
+
50
+ ```ruby
51
+ {
52
+ :provider => 'facebook',
53
+ :uid => '1234567',
54
+ :info => {
55
+ :nickname => 'jbloggs',
56
+ :email => 'joe@bloggs.com',
57
+ :name => 'Joe Bloggs',
58
+ :first_name => 'Joe',
59
+ :last_name => 'Bloggs',
60
+ :image => 'http://graph.facebook.com/1234567/picture?type=square',
61
+ :urls => { :Facebook => 'http://www.facebook.com/jbloggs' },
62
+ :location => 'Palo Alto, California'
63
+ },
64
+ :credentials => {
65
+ :token => 'ABCDEF...', # OAuth 2.0 access_token, which you may wish to store
66
+ :expires_at => 1321747205, # when the access token expires (if it expires)
67
+ :expires => true # if you request `offline_access` this will be false
68
+ },
69
+ :extra => {
70
+ :raw_info => {
71
+ :id => '1234567',
72
+ :name => 'Joe Bloggs',
73
+ :first_name => 'Joe',
74
+ :last_name => 'Bloggs',
75
+ :link => 'http://www.facebook.com/jbloggs',
76
+ :username => 'jbloggs',
77
+ :location => { :id => '123456789', :name => 'Palo Alto, California' },
78
+ :gender => 'male',
79
+ :email => 'joe@bloggs.com',
80
+ :timezone => -8,
81
+ :locale => 'en_US',
82
+ :verified => true,
83
+ :updated_time => '2011-11-11T06:21:03+0000'
84
+ }
85
+ }
86
+ }
87
+ ```
19
88
 
20
- **Pending:** Supports the Client-side Flow via parsing out the verification code from the signed request cookie.
89
+ The precise information available may depend on the permissions which you request.
21
90
 
22
- ## Ruby
91
+ ## Supported Rubies
23
92
 
24
- Tested with the following Ruby versions:
93
+ Actively tested with the following Ruby versions:
25
94
 
95
+ - MRI 1.9.3
26
96
  - MRI 1.9.2
27
97
  - MRI 1.8.7
28
- - JRuby 1.6.4
98
+ - JRuby 1.6.5
29
99
 
30
100
  ## License
31
101
 
@@ -21,7 +21,7 @@ end
21
21
  use Rack::Session::Cookie
22
22
 
23
23
  use OmniAuth::Builder do
24
- provider :facebook, ENV['APP_ID'], ENV['APP_SECRET'], :scope => 'email,read_stream', :authorize_params => { :display => 'popup' }
24
+ provider :facebook, ENV['APP_ID'], ENV['APP_SECRET'], :scope => 'email,read_stream', :display => 'popup'
25
25
  end
26
26
 
27
27
  run App.new
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Facebook
3
- VERSION = "1.0.0.rc2"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
@@ -19,6 +19,8 @@ module OmniAuth
19
19
  :param_name => 'access_token'
20
20
  }
21
21
 
22
+ option :authorize_options, [:scope, :display]
23
+
22
24
  uid { raw_info['id'] }
23
25
 
24
26
  info do
@@ -219,7 +219,7 @@ describe OmniAuth::Strategies::Facebook do
219
219
  end
220
220
 
221
221
  it 'returns the refresh token and expiry time when expiring' do
222
- ten_mins_from_now = (Time.now + 360).to_i
222
+ ten_mins_from_now = (Time.now + 600).to_i
223
223
  @access_token.stub(:expires?) { true }
224
224
  @access_token.stub(:refresh_token) { '321' }
225
225
  @access_token.stub(:expires_at) { ten_mins_from_now }
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-facebook
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc2
5
- prerelease: 6
4
+ version: 1.0.0
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Mark Dodwell
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-11 00:00:00.000000000Z
12
+ date: 2011-11-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: omniauth-oauth2
16
- requirement: &70323804271400 !ruby/object:Gem::Requirement
16
+ requirement: &70230182116160 !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: :runtime
23
23
  prerelease: false
24
- version_requirements: *70323804271400
24
+ version_requirements: *70230182116160
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70323804270900 !ruby/object:Gem::Requirement
27
+ requirement: &70230182114320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.7.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70323804270900
35
+ version_requirements: *70230182114320
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70323804270520 !ruby/object:Gem::Requirement
38
+ requirement: &70230182112600 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70323804270520
46
+ version_requirements: *70230182112600
47
47
  description:
48
48
  email:
49
49
  - mark@mkdynamic.co.uk
@@ -78,12 +78,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
78
78
  - - ! '>='
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0'
81
+ segments:
82
+ - 0
83
+ hash: -728790844477512045
81
84
  required_rubygems_version: !ruby/object:Gem::Requirement
82
85
  none: false
83
86
  requirements:
84
- - - ! '>'
87
+ - - ! '>='
85
88
  - !ruby/object:Gem::Version
86
- version: 1.3.1
89
+ version: '0'
90
+ segments:
91
+ - 0
92
+ hash: -728790844477512045
87
93
  requirements: []
88
94
  rubyforge_project:
89
95
  rubygems_version: 1.8.10