omniauth-google-oauth2 0.1.11 → 0.1.12

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/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm use ree@omniauth-google-oauth2 --create
1
+ rvm use 1.9.2@omniauth-google-oauth2 --create
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module GoogleOauth2
3
- VERSION = "0.1.11"
3
+ VERSION = "0.1.12"
4
4
  end
5
5
  end
@@ -8,7 +8,7 @@ module OmniAuth
8
8
  DEFAULT_SCOPE = "userinfo.email,userinfo.profile"
9
9
 
10
10
  option :name, 'google_oauth2'
11
- option :authorize_options, [:scope, :approval_prompt, :access_type, :hd]
11
+ option :authorize_options, [:scope, :approval_prompt, :access_type, :state, :hd]
12
12
 
13
13
  option :client_options, {
14
14
  :site => 'https://accounts.google.com',
@@ -30,6 +30,8 @@ module OmniAuth
30
30
  params[:approval_prompt] = request.params['approval_prompt'] if request_has_approval_prompt
31
31
  # hd ("Hosted Domain") can be set to a Google Apps domain to force a login to that domain
32
32
  params[:hd] = request.params['hd'] if request.params['hd']
33
+ # Override the state per request
34
+ session['omniauth.state'] = params[:state] = request.params['state'] if request.params['state']
33
35
  end
34
36
  end
35
37
 
@@ -2,16 +2,23 @@ require 'spec_helper'
2
2
  require 'omniauth-google-oauth2'
3
3
 
4
4
  describe OmniAuth::Strategies::GoogleOauth2 do
5
+ def app; lambda{|env| [200, {}, ["Hello."]]} end
5
6
 
6
7
  before :each do
8
+ OmniAuth.config.test_mode = true
7
9
  @request = double('Request')
8
10
  @request.stub(:params) { {} }
9
11
  @request.stub(:cookies) { {} }
10
12
  @request.stub(:env) { {} }
11
13
  end
12
14
 
15
+ after do
16
+ OmniAuth.config.test_mode = false
17
+ end
18
+
13
19
  subject do
14
- OmniAuth::Strategies::GoogleOauth2.new(nil, @options || {}).tap do |strategy|
20
+ args = ['appid', 'secret', @options || {}].compact
21
+ OmniAuth::Strategies::GoogleOauth2.new(app, *args).tap do |strategy|
15
22
  strategy.stub(:request) { @request }
16
23
  end
17
24
  end
@@ -76,6 +83,18 @@ describe OmniAuth::Strategies::GoogleOauth2 do
76
83
  subject.extra.should_not have_key(:raw_info)
77
84
  end
78
85
 
86
+ it 'should set the state parameter' do
87
+ @options = {:state => "some_state"}
88
+ subject.authorize_params['state'].should eq('some_state')
89
+ subject.session['omniauth.state'].should eq('some_state')
90
+ end
91
+
92
+ it 'should set the state parameter dynamically' do
93
+ subject.stub(:request) { double('Request', {:params => { 'state' => 'some_state' }, :env => {}}) }
94
+ subject.authorize_params['state'].should eq('some_state')
95
+ subject.session['omniauth.state'].should eq('some_state')
96
+ end
97
+
79
98
  it 'should set the hd (hosted domain) parameter if present' do
80
99
  @options = {:hd => "example.com"}
81
100
  subject.authorize_params['hd'].should eq('example.com')
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'bundler/setup'
2
2
  require 'rspec'
3
+
3
4
  Dir[File.expand_path('../support/**/*', __FILE__)].each { |f| require f }
4
5
 
5
6
  RSpec.configure do |config|
metadata CHANGED
@@ -1,92 +1,88 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: omniauth-google-oauth2
3
- version: !ruby/object:Gem::Version
4
- hash: 13
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.12
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 11
10
- version: 0.1.11
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Josh Ellithorpe
14
9
  - Yury Korolev
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-07-08 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2012-07-12 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: omniauth
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
19
+ requirements:
27
20
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 15
30
- segments:
31
- - 1
32
- - 0
33
- version: "1.0"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.0'
34
23
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: omniauth-oauth2
38
24
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '1.0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: omniauth-oauth2
33
+ requirement: !ruby/object:Gem::Requirement
40
34
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
48
39
  type: :runtime
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rspec
52
40
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
54
50
  none: false
55
- requirements:
51
+ requirements:
56
52
  - - ~>
57
- - !ruby/object:Gem::Version
58
- hash: 23
59
- segments:
60
- - 2
61
- - 6
62
- - 0
53
+ - !ruby/object:Gem::Version
63
54
  version: 2.6.0
64
55
  type: :development
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: rake
68
56
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
57
+ version_requirements: !ruby/object:Gem::Requirement
70
58
  none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
59
+ requirements:
60
+ - - ~>
61
+ - !ruby/object:Gem::Version
62
+ version: 2.6.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
78
71
  type: :development
79
- version_requirements: *id004
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
80
79
  description: A Google oauth2 strategy for OmniAuth 1.0
81
- email:
80
+ email:
82
81
  - quest@mac.com
83
82
  executables: []
84
-
85
83
  extensions: []
86
-
87
84
  extra_rdoc_files: []
88
-
89
- files:
85
+ files:
90
86
  - .gitignore
91
87
  - .rvmrc
92
88
  - Gemfile
@@ -102,40 +98,37 @@ files:
102
98
  - spec/omniauth/strategies/google_oauth2_spec.rb
103
99
  - spec/spec_helper.rb
104
100
  - spec/support/shared_examples.rb
105
- homepage: ""
101
+ homepage: ''
106
102
  licenses: []
107
-
108
103
  post_install_message:
109
104
  rdoc_options: []
110
-
111
- require_paths:
105
+ require_paths:
112
106
  - lib
113
- required_ruby_version: !ruby/object:Gem::Requirement
107
+ required_ruby_version: !ruby/object:Gem::Requirement
114
108
  none: false
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- hash: 3
119
- segments:
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ segments:
120
114
  - 0
121
- version: "0"
122
- required_rubygems_version: !ruby/object:Gem::Requirement
115
+ hash: 3450546043308666818
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
117
  none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- hash: 3
128
- segments:
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ segments:
129
123
  - 0
130
- version: "0"
124
+ hash: 3450546043308666818
131
125
  requirements: []
132
-
133
126
  rubyforge_project:
134
- rubygems_version: 1.8.10
127
+ rubygems_version: 1.8.24
135
128
  signing_key:
136
129
  specification_version: 3
137
130
  summary: A Google oauth2 strategy for OmniAuth 1.0
138
- test_files:
131
+ test_files:
139
132
  - spec/omniauth/strategies/google_oauth2_spec.rb
140
133
  - spec/spec_helper.rb
141
134
  - spec/support/shared_examples.rb