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
|
1
|
+
rvm use 1.9.2@omniauth-google-oauth2 --create
|
@@ -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
|
-
|
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
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
|
-
|
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
|
-
|
20
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
58
|
none: false
|
71
|
-
requirements:
|
72
|
-
- -
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
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
|
-
|
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
|
-
|
119
|
-
segments:
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
segments:
|
120
114
|
- 0
|
121
|
-
|
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
|
-
|
128
|
-
segments:
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '0'
|
122
|
+
segments:
|
129
123
|
- 0
|
130
|
-
|
124
|
+
hash: 3450546043308666818
|
131
125
|
requirements: []
|
132
|
-
|
133
126
|
rubyforge_project:
|
134
|
-
rubygems_version: 1.8.
|
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
|