oa-core 0.2.6 → 0.3.0.rc3
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/lib/omniauth/core.rb +10 -5
- data/lib/omniauth/strategy.rb +4 -1
- data/lib/omniauth/version.rb +3 -3
- data/oa-core.gemspec +9 -11
- data/spec/omniauth/strategy_spec.rb +5 -0
- metadata +55 -27
data/lib/omniauth/core.rb
CHANGED
@@ -55,10 +55,14 @@ module OmniAuth
|
|
55
55
|
|
56
56
|
def add_mock(provider, mock={})
|
57
57
|
# Stringify keys recursively one level.
|
58
|
-
mock.
|
59
|
-
|
60
|
-
|
61
|
-
|
58
|
+
mock.keys.each do |key|
|
59
|
+
mock[key.to_s] = mock.delete(key)
|
60
|
+
end
|
61
|
+
mock.each_pair do |key, val|
|
62
|
+
if val.is_a? Hash
|
63
|
+
val.keys.each do |subkey|
|
64
|
+
val[subkey.to_s] = val.delete(subkey)
|
65
|
+
end
|
62
66
|
end
|
63
67
|
end
|
64
68
|
|
@@ -98,7 +102,8 @@ module OmniAuth
|
|
98
102
|
'smugmug' => 'SmugMug',
|
99
103
|
'cas' => 'CAS',
|
100
104
|
'trademe' => 'TradeMe',
|
101
|
-
'ldap' => 'LDAP'
|
105
|
+
'ldap' => 'LDAP',
|
106
|
+
'google_oauth2' => 'GoogleOAuth2'
|
102
107
|
}
|
103
108
|
|
104
109
|
module_function
|
data/lib/omniauth/strategy.rb
CHANGED
@@ -95,7 +95,7 @@ module OmniAuth
|
|
95
95
|
elsif env['HTTP_REFERER'] && !env['HTTP_REFERER'].match(/#{request_path}$/)
|
96
96
|
@env['rack.session']['omniauth.origin'] = env['HTTP_REFERER']
|
97
97
|
end
|
98
|
-
redirect(script_name + callback_path)
|
98
|
+
redirect(script_name + callback_path + query_string)
|
99
99
|
end
|
100
100
|
|
101
101
|
def mock_callback_call
|
@@ -126,6 +126,8 @@ module OmniAuth
|
|
126
126
|
|
127
127
|
def callback_phase
|
128
128
|
@env['omniauth.auth'] = auth_hash
|
129
|
+
@env['omniauth.params'] = session['query_params'] || {}
|
130
|
+
session['query_params'] = nil if session['query_params']
|
129
131
|
call_app!
|
130
132
|
end
|
131
133
|
|
@@ -155,6 +157,7 @@ module OmniAuth
|
|
155
157
|
|
156
158
|
def call_through_to_app
|
157
159
|
status, headers, body = *call_app!
|
160
|
+
session['query_params'] = Rack::Request.new(env).params
|
158
161
|
@response = Rack::Response.new(body, status, headers)
|
159
162
|
|
160
163
|
status == 404 ? nil : @response.finish
|
data/lib/omniauth/version.rb
CHANGED
@@ -4,13 +4,13 @@ module OmniAuth
|
|
4
4
|
MAJOR = 0
|
5
5
|
end
|
6
6
|
unless defined?(::OmniAuth::Version::MINOR)
|
7
|
-
MINOR =
|
7
|
+
MINOR = 3
|
8
8
|
end
|
9
9
|
unless defined?(::OmniAuth::Version::PATCH)
|
10
|
-
PATCH =
|
10
|
+
PATCH = 0
|
11
11
|
end
|
12
12
|
unless defined?(::OmniAuth::Version::PRE)
|
13
|
-
PRE =
|
13
|
+
PRE = "rc3"
|
14
14
|
end
|
15
15
|
unless defined?(::OmniAuth::Version::STRING)
|
16
16
|
STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
|
data/oa-core.gemspec
CHANGED
@@ -1,24 +1,22 @@
|
|
1
|
-
#
|
1
|
+
# encoding: utf-8
|
2
2
|
require File.expand_path('../lib/omniauth/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.add_development_dependency 'maruku', '~> 0.6'
|
6
|
-
gem.add_development_dependency 'simplecov', '~> 0.4'
|
7
5
|
gem.add_development_dependency 'rack-test', '~> 0.5'
|
8
6
|
gem.add_development_dependency 'rake', '~> 0.8'
|
7
|
+
gem.add_development_dependency 'rdiscount', '~> 1.6'
|
9
8
|
gem.add_development_dependency 'rspec', '~> 2.5'
|
9
|
+
gem.add_development_dependency 'simplecov', '~> 0.4'
|
10
10
|
gem.add_development_dependency 'yard', '~> 0.7'
|
11
|
-
gem.
|
12
|
-
gem.name = 'oa-core'
|
13
|
-
gem.version = OmniAuth::Version::STRING
|
11
|
+
gem.authors = ['Michael Bleigh', 'Erik Michaels-Ober']
|
14
12
|
gem.description = %q{Core strategies for OmniAuth.}
|
15
|
-
gem.summary = gem.description
|
16
13
|
gem.email = ['michael@intridea.com', 'sferik@gmail.com']
|
17
|
-
gem.homepage = 'http://github.com/intridea/omniauth'
|
18
|
-
gem.authors = ['Michael Bleigh', 'Erik Michaels-Ober']
|
19
|
-
gem.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
|
20
14
|
gem.files = `git ls-files`.split("\n")
|
21
|
-
gem.
|
15
|
+
gem.homepage = 'http://github.com/intridea/omniauth'
|
16
|
+
gem.name = 'oa-core'
|
22
17
|
gem.require_paths = ['lib']
|
23
18
|
gem.required_rubygems_version = Gem::Requirement.new('>= 1.3.6') if gem.respond_to? :required_rubygems_version=
|
19
|
+
gem.summary = gem.description
|
20
|
+
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
21
|
+
gem.version = OmniAuth::Version::STRING
|
24
22
|
end
|
@@ -267,6 +267,11 @@ describe OmniAuth::Strategy do
|
|
267
267
|
strategy.call(make_env('/AUTH/TeSt/CaLlBAck')).should == strategy.call(make_env('/auth/test/callback'))
|
268
268
|
end
|
269
269
|
|
270
|
+
it 'should maintain query string parameters' do
|
271
|
+
response = strategy.call(make_env('/auth/test', 'QUERY_STRING' => 'cheese=stilton'))
|
272
|
+
response[1]['Location'].should == '/auth/test/callback?cheese=stilton'
|
273
|
+
end
|
274
|
+
|
270
275
|
it 'should not short circuit requests outside of authentication' do
|
271
276
|
strategy.call(make_env('/')).should == app.call(make_env('/'))
|
272
277
|
end
|
metadata
CHANGED
@@ -1,8 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oa-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
4
|
+
hash: 15424035
|
5
|
+
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 3
|
12
|
+
version: 0.3.0.rc3
|
6
13
|
platform: ruby
|
7
14
|
authors:
|
8
15
|
- Michael Bleigh
|
@@ -11,61 +18,81 @@ autorequire:
|
|
11
18
|
bindir: bin
|
12
19
|
cert_chain: []
|
13
20
|
|
14
|
-
date: 2011-
|
21
|
+
date: 2011-09-03 00:00:00 Z
|
15
22
|
dependencies:
|
16
23
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
24
|
+
name: rack-test
|
18
25
|
prerelease: false
|
19
26
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
27
|
none: false
|
21
28
|
requirements:
|
22
29
|
- - ~>
|
23
30
|
- !ruby/object:Gem::Version
|
24
|
-
|
31
|
+
hash: 1
|
32
|
+
segments:
|
33
|
+
- 0
|
34
|
+
- 5
|
35
|
+
version: "0.5"
|
25
36
|
type: :development
|
26
37
|
version_requirements: *id001
|
27
38
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
39
|
+
name: rake
|
29
40
|
prerelease: false
|
30
41
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
42
|
none: false
|
32
43
|
requirements:
|
33
44
|
- - ~>
|
34
45
|
- !ruby/object:Gem::Version
|
35
|
-
|
46
|
+
hash: 27
|
47
|
+
segments:
|
48
|
+
- 0
|
49
|
+
- 8
|
50
|
+
version: "0.8"
|
36
51
|
type: :development
|
37
52
|
version_requirements: *id002
|
38
53
|
- !ruby/object:Gem::Dependency
|
39
|
-
name:
|
54
|
+
name: rdiscount
|
40
55
|
prerelease: false
|
41
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
42
57
|
none: false
|
43
58
|
requirements:
|
44
59
|
- - ~>
|
45
60
|
- !ruby/object:Gem::Version
|
46
|
-
|
61
|
+
hash: 3
|
62
|
+
segments:
|
63
|
+
- 1
|
64
|
+
- 6
|
65
|
+
version: "1.6"
|
47
66
|
type: :development
|
48
67
|
version_requirements: *id003
|
49
68
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
69
|
+
name: rspec
|
51
70
|
prerelease: false
|
52
71
|
requirement: &id004 !ruby/object:Gem::Requirement
|
53
72
|
none: false
|
54
73
|
requirements:
|
55
74
|
- - ~>
|
56
75
|
- !ruby/object:Gem::Version
|
57
|
-
|
76
|
+
hash: 9
|
77
|
+
segments:
|
78
|
+
- 2
|
79
|
+
- 5
|
80
|
+
version: "2.5"
|
58
81
|
type: :development
|
59
82
|
version_requirements: *id004
|
60
83
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
84
|
+
name: simplecov
|
62
85
|
prerelease: false
|
63
86
|
requirement: &id005 !ruby/object:Gem::Requirement
|
64
87
|
none: false
|
65
88
|
requirements:
|
66
89
|
- - ~>
|
67
90
|
- !ruby/object:Gem::Version
|
68
|
-
|
91
|
+
hash: 3
|
92
|
+
segments:
|
93
|
+
- 0
|
94
|
+
- 4
|
95
|
+
version: "0.4"
|
69
96
|
type: :development
|
70
97
|
version_requirements: *id005
|
71
98
|
- !ruby/object:Gem::Dependency
|
@@ -76,20 +103,13 @@ dependencies:
|
|
76
103
|
requirements:
|
77
104
|
- - ~>
|
78
105
|
- !ruby/object:Gem::Version
|
106
|
+
hash: 5
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
- 7
|
79
110
|
version: "0.7"
|
80
111
|
type: :development
|
81
112
|
version_requirements: *id006
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: ZenTest
|
84
|
-
prerelease: false
|
85
|
-
requirement: &id007 !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
|
-
requirements:
|
88
|
-
- - ~>
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: "4.5"
|
91
|
-
type: :development
|
92
|
-
version_requirements: *id007
|
93
113
|
description: Core strategies for OmniAuth.
|
94
114
|
email:
|
95
115
|
- michael@intridea.com
|
@@ -136,17 +156,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
156
|
requirements:
|
137
157
|
- - ">="
|
138
158
|
- !ruby/object:Gem::Version
|
159
|
+
hash: 3
|
160
|
+
segments:
|
161
|
+
- 0
|
139
162
|
version: "0"
|
140
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
141
164
|
none: false
|
142
165
|
requirements:
|
143
|
-
- - "
|
166
|
+
- - ">"
|
144
167
|
- !ruby/object:Gem::Version
|
145
|
-
|
168
|
+
hash: 25
|
169
|
+
segments:
|
170
|
+
- 1
|
171
|
+
- 3
|
172
|
+
- 1
|
173
|
+
version: 1.3.1
|
146
174
|
requirements: []
|
147
175
|
|
148
176
|
rubyforge_project:
|
149
|
-
rubygems_version: 1.8.
|
177
|
+
rubygems_version: 1.8.10
|
150
178
|
signing_key:
|
151
179
|
specification_version: 3
|
152
180
|
summary: Core strategies for OmniAuth.
|