oauth 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of oauth might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.rdoc +12 -2
- data/bin/oauth +8 -2
- data/lib/oauth.rb +2 -1
- data/lib/oauth/cli.rb +32 -360
- data/lib/oauth/cli/authorize_command.rb +71 -0
- data/lib/oauth/cli/base_command.rb +203 -0
- data/lib/oauth/cli/help_command.rb +22 -0
- data/lib/oauth/cli/query_command.rb +25 -0
- data/lib/oauth/cli/sign_command.rb +81 -0
- data/lib/oauth/cli/version_command.rb +7 -0
- data/lib/oauth/client/action_controller_request.rb +0 -1
- data/lib/oauth/client/em_http.rb +0 -1
- data/lib/oauth/client/net_http.rb +0 -1
- data/lib/oauth/consumer.rb +26 -3
- data/lib/oauth/core_ext.rb +24 -2
- data/lib/oauth/helper.rb +10 -6
- data/lib/oauth/request_proxy/base.rb +5 -1
- data/lib/oauth/version.rb +1 -1
- metadata +100 -83
- data/test/cases/oauth_case.rb +0 -19
- data/test/cases/spec/1_0-final/test_construct_request_url.rb +0 -62
- data/test/cases/spec/1_0-final/test_normalize_request_parameters.rb +0 -88
- data/test/cases/spec/1_0-final/test_parameter_encodings.rb +0 -86
- data/test/cases/spec/1_0-final/test_signature_base_strings.rb +0 -77
- data/test/integration/consumer_test.rb +0 -307
- data/test/test_access_token.rb +0 -26
- data/test/test_action_controller_request_proxy.rb +0 -157
- data/test/test_consumer.rb +0 -226
- data/test/test_curb_request_proxy.rb +0 -77
- data/test/test_em_http_client.rb +0 -80
- data/test/test_em_http_request_proxy.rb +0 -115
- data/test/test_helper.rb +0 -33
- data/test/test_hmac_sha1.rb +0 -20
- data/test/test_net_http_client.rb +0 -302
- data/test/test_net_http_request_proxy.rb +0 -72
- data/test/test_oauth_helper.rb +0 -94
- data/test/test_rack_request_proxy.rb +0 -40
- data/test/test_request_token.rb +0 -56
- data/test/test_rest_client_request_proxy.rb +0 -81
- data/test/test_rsa_sha1.rb +0 -59
- data/test/test_server.rb +0 -41
- data/test/test_signature.rb +0 -15
- data/test/test_signature_base.rb +0 -32
- data/test/test_signature_hmac_sha1.rb +0 -40
- data/test/test_signature_plain_text.rb +0 -31
- data/test/test_token.rb +0 -14
- data/test/test_typhoeus_request_proxy.rb +0 -101
data/lib/oauth/core_ext.rb
CHANGED
@@ -13,8 +13,6 @@ end
|
|
13
13
|
|
14
14
|
class String
|
15
15
|
|
16
|
-
|
17
|
-
|
18
16
|
unless method_defined?(:bytesize)
|
19
17
|
def bytesize
|
20
18
|
self.size
|
@@ -29,3 +27,27 @@ class String
|
|
29
27
|
end
|
30
28
|
|
31
29
|
end
|
30
|
+
|
31
|
+
# TODO: Work around URI.escape obsolete method
|
32
|
+
#
|
33
|
+
# 21/May/2016 - We are silencing a warning introduced in 2009
|
34
|
+
# https://github.com/ruby/ruby/commit/238b979f1789f95262a267d8df6239806f2859cc
|
35
|
+
#
|
36
|
+
# The only clear alternative to this problem is to invoke CGI.escape instead
|
37
|
+
# but that one does not take a secondary argument so we can pass OAuth::RESERVED_CHARACTERS
|
38
|
+
# As of today, ignoring this secondary argument would introduce 44 errors on our tests
|
39
|
+
# 181 runs, 511 assertions, 44 failures, 0 errors, 0 skips
|
40
|
+
#
|
41
|
+
# If you have a proper way to work around this so we don't need to override ruby core code
|
42
|
+
# Please send us a Pull Request
|
43
|
+
module URI
|
44
|
+
module Escape
|
45
|
+
def escape(*arg)
|
46
|
+
DEFAULT_PARSER.escape(*arg)
|
47
|
+
end
|
48
|
+
|
49
|
+
def unescape(*arg)
|
50
|
+
DEFAULT_PARSER.unescape(*arg)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
data/lib/oauth/helper.rb
CHANGED
@@ -9,9 +9,17 @@ module OAuth
|
|
9
9
|
#
|
10
10
|
# See Also: {OAuth core spec version 1.0, section 5.1}[http://oauth.net/core/1.0#rfc.section.5.1]
|
11
11
|
def escape(value)
|
12
|
-
|
12
|
+
_escape(value.to_s.to_str)
|
13
13
|
rescue ArgumentError
|
14
|
-
|
14
|
+
_escape(value.to_s.to_str.force_encoding(Encoding::UTF_8))
|
15
|
+
end
|
16
|
+
|
17
|
+
def _escape(string)
|
18
|
+
URI.escape(string, OAuth::RESERVED_CHARACTERS)
|
19
|
+
end
|
20
|
+
|
21
|
+
def unescape(value)
|
22
|
+
URI.unescape(value.gsub('+', '%2B'))
|
15
23
|
end
|
16
24
|
|
17
25
|
# Generate a random key of up to +size+ bytes. The value returned is Base64 encoded with non-word
|
@@ -94,10 +102,6 @@ module OAuth
|
|
94
102
|
Hash[*params.flatten]
|
95
103
|
end
|
96
104
|
|
97
|
-
def unescape(value)
|
98
|
-
URI.unescape(value.gsub('+', '%2B'))
|
99
|
-
end
|
100
|
-
|
101
105
|
def stringify_keys(hash)
|
102
106
|
new_h = {}
|
103
107
|
hash.each do |k, v|
|
@@ -76,7 +76,7 @@ module OAuth::RequestProxy
|
|
76
76
|
end
|
77
77
|
|
78
78
|
def parameters_for_signature
|
79
|
-
parameters.
|
79
|
+
parameters.select { |k,v| not signature_and_unsigned_parameters.include?(k) }
|
80
80
|
end
|
81
81
|
|
82
82
|
def oauth_parameters
|
@@ -87,6 +87,10 @@ module OAuth::RequestProxy
|
|
87
87
|
parameters.reject { |k,v| OAuth::PARAMETERS.include?(k) }
|
88
88
|
end
|
89
89
|
|
90
|
+
def signature_and_unsigned_parameters
|
91
|
+
unsigned_parameters+["oauth_signature"]
|
92
|
+
end
|
93
|
+
|
90
94
|
# See 9.1.2 in specs
|
91
95
|
def normalized_uri
|
92
96
|
u = URI.parse(uri)
|
data/lib/oauth/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pelle Braendgaard
|
@@ -15,110 +15,113 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date:
|
18
|
+
date: 2017-05-17 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rake
|
22
22
|
requirement: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
type: :development
|
28
28
|
prerelease: false
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: minitest
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
type: :development
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: byebug
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: actionpack
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 4.0
|
68
|
+
version: '4.0'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
71
|
version_requirements: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 4.0
|
75
|
+
version: '4.0'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: iconv
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
type: :development
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
- !ruby/object:Gem::Dependency
|
91
91
|
name: rack
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
96
|
+
version: '1.0'
|
97
97
|
type: :development
|
98
98
|
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
103
|
+
version: '1.0'
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: rack-test
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
119
|
name: mocha
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.9'
|
122
125
|
- - ">="
|
123
126
|
- !ruby/object:Gem::Version
|
124
127
|
version: 0.9.12
|
@@ -126,6 +129,9 @@ dependencies:
|
|
126
129
|
prerelease: false
|
127
130
|
version_requirements: !ruby/object:Gem::Requirement
|
128
131
|
requirements:
|
132
|
+
- - "~>"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0.9'
|
129
135
|
- - ">="
|
130
136
|
- !ruby/object:Gem::Version
|
131
137
|
version: 0.9.12
|
@@ -133,6 +139,9 @@ dependencies:
|
|
133
139
|
name: typhoeus
|
134
140
|
requirement: !ruby/object:Gem::Requirement
|
135
141
|
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0.1'
|
136
145
|
- - ">="
|
137
146
|
- !ruby/object:Gem::Version
|
138
147
|
version: 0.1.13
|
@@ -140,6 +149,9 @@ dependencies:
|
|
140
149
|
prerelease: false
|
141
150
|
version_requirements: !ruby/object:Gem::Requirement
|
142
151
|
requirements:
|
152
|
+
- - "~>"
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0.1'
|
143
155
|
- - ">="
|
144
156
|
- !ruby/object:Gem::Version
|
145
157
|
version: 0.1.13
|
@@ -161,14 +173,70 @@ dependencies:
|
|
161
173
|
name: curb
|
162
174
|
requirement: !ruby/object:Gem::Requirement
|
163
175
|
requirements:
|
164
|
-
- - "
|
176
|
+
- - "~>"
|
165
177
|
- !ruby/object:Gem::Version
|
166
178
|
version: '0'
|
167
179
|
type: :development
|
168
180
|
prerelease: false
|
169
181
|
version_requirements: !ruby/object:Gem::Requirement
|
170
182
|
requirements:
|
171
|
-
- - "
|
183
|
+
- - "~>"
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0'
|
186
|
+
- !ruby/object:Gem::Dependency
|
187
|
+
name: webmock
|
188
|
+
requirement: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - "<"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '2.0'
|
193
|
+
type: :development
|
194
|
+
prerelease: false
|
195
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - "<"
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '2.0'
|
200
|
+
- !ruby/object:Gem::Dependency
|
201
|
+
name: codeclimate-test-reporter
|
202
|
+
requirement: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - "~>"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
207
|
+
type: :development
|
208
|
+
prerelease: false
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - "~>"
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
- !ruby/object:Gem::Dependency
|
215
|
+
name: simplecov
|
216
|
+
requirement: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - "~>"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0'
|
221
|
+
type: :development
|
222
|
+
prerelease: false
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - "~>"
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
228
|
+
- !ruby/object:Gem::Dependency
|
229
|
+
name: rest-client
|
230
|
+
requirement: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - "~>"
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0'
|
235
|
+
type: :development
|
236
|
+
prerelease: false
|
237
|
+
version_requirements: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - "~>"
|
172
240
|
- !ruby/object:Gem::Version
|
173
241
|
version: '0'
|
174
242
|
description:
|
@@ -187,6 +255,12 @@ files:
|
|
187
255
|
- bin/oauth
|
188
256
|
- lib/oauth.rb
|
189
257
|
- lib/oauth/cli.rb
|
258
|
+
- lib/oauth/cli/authorize_command.rb
|
259
|
+
- lib/oauth/cli/base_command.rb
|
260
|
+
- lib/oauth/cli/help_command.rb
|
261
|
+
- lib/oauth/cli/query_command.rb
|
262
|
+
- lib/oauth/cli/sign_command.rb
|
263
|
+
- lib/oauth/cli/version_command.rb
|
190
264
|
- lib/oauth/client.rb
|
191
265
|
- lib/oauth/client/action_controller_request.rb
|
192
266
|
- lib/oauth/client/em_http.rb
|
@@ -225,35 +299,7 @@ files:
|
|
225
299
|
- lib/oauth/tokens/server_token.rb
|
226
300
|
- lib/oauth/tokens/token.rb
|
227
301
|
- lib/oauth/version.rb
|
228
|
-
|
229
|
-
- test/cases/spec/1_0-final/test_construct_request_url.rb
|
230
|
-
- test/cases/spec/1_0-final/test_normalize_request_parameters.rb
|
231
|
-
- test/cases/spec/1_0-final/test_parameter_encodings.rb
|
232
|
-
- test/cases/spec/1_0-final/test_signature_base_strings.rb
|
233
|
-
- test/integration/consumer_test.rb
|
234
|
-
- test/test_access_token.rb
|
235
|
-
- test/test_action_controller_request_proxy.rb
|
236
|
-
- test/test_consumer.rb
|
237
|
-
- test/test_curb_request_proxy.rb
|
238
|
-
- test/test_em_http_client.rb
|
239
|
-
- test/test_em_http_request_proxy.rb
|
240
|
-
- test/test_helper.rb
|
241
|
-
- test/test_hmac_sha1.rb
|
242
|
-
- test/test_net_http_client.rb
|
243
|
-
- test/test_net_http_request_proxy.rb
|
244
|
-
- test/test_oauth_helper.rb
|
245
|
-
- test/test_rack_request_proxy.rb
|
246
|
-
- test/test_request_token.rb
|
247
|
-
- test/test_rest_client_request_proxy.rb
|
248
|
-
- test/test_rsa_sha1.rb
|
249
|
-
- test/test_server.rb
|
250
|
-
- test/test_signature.rb
|
251
|
-
- test/test_signature_base.rb
|
252
|
-
- test/test_signature_hmac_sha1.rb
|
253
|
-
- test/test_signature_plain_text.rb
|
254
|
-
- test/test_token.rb
|
255
|
-
- test/test_typhoeus_request_proxy.rb
|
256
|
-
homepage:
|
302
|
+
homepage: https://github.com/oauth-xx/oauth-ruby
|
257
303
|
licenses:
|
258
304
|
- MIT
|
259
305
|
metadata: {}
|
@@ -265,7 +311,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
265
311
|
requirements:
|
266
312
|
- - ">="
|
267
313
|
- !ruby/object:Gem::Version
|
268
|
-
version: '0'
|
314
|
+
version: '2.0'
|
269
315
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
316
|
requirements:
|
271
317
|
- - ">="
|
@@ -273,37 +319,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
319
|
version: '0'
|
274
320
|
requirements: []
|
275
321
|
rubyforge_project:
|
276
|
-
rubygems_version: 2.
|
322
|
+
rubygems_version: 2.6.11
|
277
323
|
signing_key:
|
278
324
|
specification_version: 4
|
279
325
|
summary: OAuth Core Ruby implementation
|
280
|
-
test_files:
|
281
|
-
- test/test_rsa_sha1.rb
|
282
|
-
- test/test_helper.rb
|
283
|
-
- test/test_server.rb
|
284
|
-
- test/test_em_http_client.rb
|
285
|
-
- test/test_signature_hmac_sha1.rb
|
286
|
-
- test/test_signature.rb
|
287
|
-
- test/test_em_http_request_proxy.rb
|
288
|
-
- test/test_net_http_client.rb
|
289
|
-
- test/test_rest_client_request_proxy.rb
|
290
|
-
- test/cases/oauth_case.rb
|
291
|
-
- test/cases/spec/1_0-final/test_parameter_encodings.rb
|
292
|
-
- test/cases/spec/1_0-final/test_signature_base_strings.rb
|
293
|
-
- test/cases/spec/1_0-final/test_normalize_request_parameters.rb
|
294
|
-
- test/cases/spec/1_0-final/test_construct_request_url.rb
|
295
|
-
- test/test_hmac_sha1.rb
|
296
|
-
- test/test_consumer.rb
|
297
|
-
- test/test_rack_request_proxy.rb
|
298
|
-
- test/test_signature_base.rb
|
299
|
-
- test/test_typhoeus_request_proxy.rb
|
300
|
-
- test/integration/consumer_test.rb
|
301
|
-
- test/test_signature_plain_text.rb
|
302
|
-
- test/test_curb_request_proxy.rb
|
303
|
-
- test/test_token.rb
|
304
|
-
- test/test_action_controller_request_proxy.rb
|
305
|
-
- test/test_oauth_helper.rb
|
306
|
-
- test/test_access_token.rb
|
307
|
-
- test/test_request_token.rb
|
308
|
-
- test/test_net_http_request_proxy.rb
|
309
|
-
has_rdoc:
|
326
|
+
test_files: []
|
data/test/cases/oauth_case.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'oauth/signature'
|
3
|
-
require 'oauth/request_proxy/mock_request'
|
4
|
-
|
5
|
-
|
6
|
-
class OAuthCase < Minitest::Test
|
7
|
-
# avoid whining about a lack of tests
|
8
|
-
def run(*args)
|
9
|
-
return if @method_name.to_s == "default_test"
|
10
|
-
super
|
11
|
-
end
|
12
|
-
|
13
|
-
protected
|
14
|
-
|
15
|
-
# Creates a fake request
|
16
|
-
def request(params={},method='GET',uri="http://photos.example.net/photos")
|
17
|
-
OAuth::RequestProxy.proxy({'parameters'=>params,'method'=>method,'uri'=>uri})
|
18
|
-
end
|
19
|
-
end
|