omniauth-facebook 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

data/README.md CHANGED
@@ -1,8 +1,16 @@
1
1
  # OmniAuth Facebook  [![Build Status](http://travis-ci.org/mkdynamic/omniauth-facebook.png?branch=master)](http://travis-ci.org/mkdynamic/omniauth-facebook)
2
2
 
3
- **Note:** This gem is designed to work with the unreleased OmniAuth 1.0 library. It will not be officially released on RubyGems.org until OmniAuth 1.0 is released.
3
+ This gem contains the Facebook strategy for OmniAuth 1.0.
4
4
 
5
- This gem contains the Facebook strategy for OmniAuth.
5
+ ## Installing
6
+
7
+ Add to your `Gemfile`:
8
+
9
+ ```ruby
10
+ gem 'omniauth-facebook', '~> 1.0.0.rc1'
11
+ ```
12
+
13
+ Then `bundle install`.
6
14
 
7
15
  ## Supported Flows
8
16
 
@@ -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'
24
+ provider :facebook, ENV['APP_ID'], ENV['APP_SECRET'], :scope => 'email,read_stream', :authorize_params => { :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.rc1"
3
+ VERSION = "1.0.0.rc2"
4
4
  end
5
5
  end
@@ -3,6 +3,8 @@ require 'omniauth/strategies/oauth2'
3
3
  module OmniAuth
4
4
  module Strategies
5
5
  class Facebook < OmniAuth::Strategies::OAuth2
6
+ DEFAULT_SCOPE = 'email,offline_access'
7
+
6
8
  option :client_options, {
7
9
  :site => 'https://graph.facebook.com',
8
10
  :token_url => '/oauth/access_token'
@@ -63,6 +65,13 @@ module OmniAuth
63
65
  options.access_token_options.inject({}) { |h,(k,v)| h[k.to_sym] = v; h }
64
66
  end
65
67
 
68
+ def authorize_params
69
+ super.tap do |params|
70
+ params.merge!(:display => request.params['display']) if request.params['display']
71
+ params[:scope] ||= DEFAULT_SCOPE
72
+ end
73
+ end
74
+
66
75
  private
67
76
 
68
77
  def prune!(hash)
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
16
16
  s.require_paths = ['lib']
17
17
 
18
- s.add_runtime_dependency 'omniauth-oauth2', '~> 1.0.0.rc2'
18
+ s.add_runtime_dependency 'omniauth-oauth2', '~> 1.0.0'
19
19
 
20
20
  s.add_development_dependency 'rspec', '~> 2.7.0'
21
21
  s.add_development_dependency 'rake'
@@ -2,8 +2,15 @@ require 'spec_helper'
2
2
  require 'omniauth-facebook'
3
3
 
4
4
  describe OmniAuth::Strategies::Facebook do
5
+ before :each do
6
+ @request = double('Request')
7
+ @request.stub(:params) { {} }
8
+ end
9
+
5
10
  subject do
6
- OmniAuth::Strategies::Facebook.new(nil, @options || {})
11
+ OmniAuth::Strategies::Facebook.new(nil, @options || {}).tap do |strategy|
12
+ strategy.stub(:request) { @request }
13
+ end
7
14
  end
8
15
 
9
16
  it_should_behave_like 'an oauth2 strategy'
@@ -23,8 +30,15 @@ describe OmniAuth::Strategies::Facebook do
23
30
  end
24
31
 
25
32
  describe '#authorize_params' do
26
- it 'is empty by default' do
27
- subject.authorize_params.should be_empty
33
+ it 'includes default scope for email and offline access' do
34
+ subject.authorize_params.should be_a(Hash)
35
+ subject.authorize_params[:scope].should eq('email,offline_access')
36
+ end
37
+
38
+ it 'includes display parameter from request when present' do
39
+ @request.stub(:params) { { 'display' => 'touch' } }
40
+ subject.authorize_params.should be_a(Hash)
41
+ subject.authorize_params[:display].should eq('touch')
28
42
  end
29
43
  end
30
44
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-facebook
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc1
4
+ version: 1.0.0.rc2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-29 00:00:00.000000000Z
12
+ date: 2011-11-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: omniauth-oauth2
16
- requirement: &2153016200 !ruby/object:Gem::Requirement
16
+ requirement: &70323804271400 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.0.rc2
21
+ version: 1.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153016200
24
+ version_requirements: *70323804271400
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &2153015460 !ruby/object:Gem::Requirement
27
+ requirement: &70323804270900 !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: *2153015460
35
+ version_requirements: *70323804270900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &2153014400 !ruby/object:Gem::Requirement
38
+ requirement: &70323804270520 !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: *2153014400
46
+ version_requirements: *70323804270520
47
47
  description:
48
48
  email:
49
49
  - mark@mkdynamic.co.uk
@@ -94,4 +94,3 @@ test_files:
94
94
  - spec/omniauth/strategies/facebook_spec.rb
95
95
  - spec/spec_helper.rb
96
96
  - spec/support/shared_examples.rb
97
- has_rdoc: