warden-github 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5341e7839b2e41ee489cc38ad8eb23446539dad5
4
+ data.tar.gz: 887573279488aa15b8bc1c99625233b0419211b5
5
+ SHA512:
6
+ metadata.gz: 1505e1bb86e5f33d21401645addcb6406afb1b4d95269762aae8e6163317270ac4afb8bde80897afbe96576b48976aed569188b4e2030c5afc97b1c44c41b6e1
7
+ data.tar.gz: 0e71b3194740f5ce604646901e544ac78bfe98a1ae484fe87ecb1f8be301bde5b5fe0ef1857fa722180f5aa04d2da2437a1539c256386e7f2d5a16d29edf6830
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ v1.0.1 2014/03/24
2
+ -----------------
3
+
4
+ * Handle multiple X-Forwarded-Proto headers when comma delimited
5
+
1
6
  v1.0.0 2013/09/03
2
7
  -----------------
3
8
 
@@ -131,16 +131,21 @@ module Warden
131
131
  end
132
132
  end
133
133
 
134
+ def https_forwarded_proto?
135
+ env['HTTP_X_FORWARDED_PROTO'] &&
136
+ env['HTTP_X_FORWARDED_PROTO'].split(',')[0] == "https"
137
+ end
138
+
134
139
  def correct_scheme(uri)
135
- if uri.scheme != 'https' && env['HTTP_X_FORWARDED_PROTO'] == 'https'
136
- uri.port = nil if uri.port == 80
140
+ if uri.scheme != 'https' && https_forwarded_proto?
137
141
  uri.scheme = 'https'
138
142
  # Reparsing will use a different URI subclass, namely URI::HTTPS which
139
143
  # knows the default port for https and strips it if present.
140
144
  uri = URI(uri.to_s)
141
145
  end
146
+ uri.port = nil if uri.port == 80
142
147
 
143
- uri
148
+ URI(uri.to_s)
144
149
  end
145
150
  end
146
151
  end
@@ -1,5 +1,5 @@
1
1
  module Warden
2
2
  module GitHub
3
- VERSION = "1.0.0"
3
+ VERSION = "1.0.1"
4
4
  end
5
5
  end
@@ -141,6 +141,12 @@ describe Warden::GitHub::Config do
141
141
  config.redirect_uri.should eq 'https://example.com/the/path'
142
142
  end
143
143
 
144
+ it 'returns the expanded redirect uri with adjusted scheme including port 80 with multiple forwarded protocols' do
145
+ env['HTTP_X_FORWARDED_PROTO'] = 'https,https'
146
+ request.stub(:url => 'https://example.com:80/the/path')
147
+ config.redirect_uri.should eq 'https://example.com/the/path'
148
+ end
149
+
144
150
  it 'returns the expanded redirect uri(without port) with adjusted scheme' do
145
151
  env['HTTP_X_FORWARDED_PROTO'] = 'https'
146
152
  request.stub(:url => 'http://example.com/the/path')
@@ -9,6 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["atmos@atmos.org"]
10
10
  s.homepage = "http://github.com/atmos/warden-github"
11
11
  s.summary = "A warden strategy for easy oauth integration with github"
12
+ s.license = 'MIT'
12
13
  s.description = s.summary
13
14
 
14
15
  s.rubyforge_project = "warden-github"
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warden-github
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.0.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Corey Donohoe
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-04 00:00:00.000000000 Z
11
+ date: 2014-03-25 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: warden
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>'
17
+ - - '>'
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>'
24
+ - - '>'
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: octokit
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>'
31
+ - - '>'
36
32
  - !ruby/object:Gem::Version
37
33
  version: 2.1.0
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>'
38
+ - - '>'
44
39
  - !ruby/object:Gem::Version
45
40
  version: 2.1.0
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rack
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,23 +55,20 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,23 +83,20 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: simplecov
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: webmock
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,39 +111,34 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: sinatra
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ! '>='
115
+ - - '>='
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0'
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ! '>='
122
+ - - '>='
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: shotgun
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ! '>='
129
+ - - '>='
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0'
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ! '>='
136
+ - - '>='
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0'
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: addressable
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ~>
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ~>
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rack-test
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ~>
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ~>
188
165
  - !ruby/object:Gem::Version
@@ -190,17 +167,15 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: yajl-ruby
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
- - - ! '>='
171
+ - - '>='
196
172
  - !ruby/object:Gem::Version
197
173
  version: '0'
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
- - - ! '>='
178
+ - - '>='
204
179
  - !ruby/object:Gem::Version
205
180
  version: '0'
206
181
  description: A warden strategy for easy oauth integration with github
@@ -239,28 +214,28 @@ files:
239
214
  - spec/unit/user_spec.rb
240
215
  - warden-github.gemspec
241
216
  homepage: http://github.com/atmos/warden-github
242
- licenses: []
217
+ licenses:
218
+ - MIT
219
+ metadata: {}
243
220
  post_install_message:
244
221
  rdoc_options: []
245
222
  require_paths:
246
223
  - lib
247
224
  required_ruby_version: !ruby/object:Gem::Requirement
248
- none: false
249
225
  requirements:
250
- - - ! '>='
226
+ - - '>='
251
227
  - !ruby/object:Gem::Version
252
228
  version: '0'
253
229
  required_rubygems_version: !ruby/object:Gem::Requirement
254
- none: false
255
230
  requirements:
256
- - - ! '>='
231
+ - - '>='
257
232
  - !ruby/object:Gem::Version
258
233
  version: '0'
259
234
  requirements: []
260
235
  rubyforge_project: warden-github
261
- rubygems_version: 1.8.23
236
+ rubygems_version: 2.0.3
262
237
  signing_key:
263
- specification_version: 3
238
+ specification_version: 4
264
239
  summary: A warden strategy for easy oauth integration with github
265
240
  test_files:
266
241
  - spec/fixtures/user.json
@@ -270,3 +245,4 @@ test_files:
270
245
  - spec/unit/membership_cache_spec.rb
271
246
  - spec/unit/oauth_spec.rb
272
247
  - spec/unit/user_spec.rb
248
+ has_rdoc: