oauth 0.5.3 → 0.5.7.pre.pre1
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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +454 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/LICENSE +18 -17
- data/README.md +211 -0
- data/TODO +0 -0
- data/bin/oauth +2 -2
- data/lib/oauth/cli/authorize_command.rb +0 -0
- data/lib/oauth/cli/base_command.rb +2 -2
- data/lib/oauth/cli/help_command.rb +0 -0
- data/lib/oauth/cli/query_command.rb +0 -0
- data/lib/oauth/cli/sign_command.rb +0 -0
- data/lib/oauth/cli/version_command.rb +0 -0
- data/lib/oauth/cli.rb +18 -18
- data/lib/oauth/client/action_controller_request.rb +7 -6
- data/lib/oauth/client/em_http.rb +99 -99
- data/lib/oauth/client/helper.rb +29 -23
- data/lib/oauth/client/net_http.rb +5 -5
- data/lib/oauth/client.rb +0 -0
- data/lib/oauth/consumer.rb +88 -44
- data/lib/oauth/errors/error.rb +0 -0
- data/lib/oauth/errors/problem.rb +0 -0
- data/lib/oauth/errors/unauthorized.rb +3 -1
- data/lib/oauth/errors.rb +3 -3
- data/lib/oauth/helper.rb +12 -8
- data/lib/oauth/oauth.rb +0 -0
- data/lib/oauth/oauth_test_helper.rb +4 -4
- data/lib/oauth/request_proxy/action_controller_request.rb +15 -11
- data/lib/oauth/request_proxy/action_dispatch_request.rb +7 -0
- data/lib/oauth/request_proxy/base.rb +16 -16
- data/lib/oauth/request_proxy/curb_request.rb +5 -5
- data/lib/oauth/request_proxy/em_http_request.rb +18 -12
- data/lib/oauth/request_proxy/jabber_request.rb +3 -3
- data/lib/oauth/request_proxy/mock_request.rb +1 -1
- data/lib/oauth/request_proxy/net_http.rb +9 -9
- data/lib/oauth/request_proxy/rack_request.rb +4 -4
- data/lib/oauth/request_proxy/rest_client_request.rb +7 -7
- data/lib/oauth/request_proxy/typhoeus_request.rb +7 -7
- data/lib/oauth/request_proxy.rb +0 -0
- data/lib/oauth/server.rb +2 -2
- data/lib/oauth/signature/base.rb +8 -6
- data/lib/oauth/signature/hmac/sha1.rb +4 -4
- data/lib/oauth/signature/hmac/sha256.rb +17 -0
- data/lib/oauth/signature/plaintext.rb +2 -2
- data/lib/oauth/signature/rsa/sha1.rb +3 -3
- data/lib/oauth/signature.rb +0 -0
- data/lib/oauth/token.rb +5 -5
- data/lib/oauth/tokens/access_token.rb +3 -3
- data/lib/oauth/tokens/consumer_token.rb +0 -0
- data/lib/oauth/tokens/request_token.rb +10 -3
- data/lib/oauth/tokens/server_token.rb +0 -0
- data/lib/oauth/tokens/token.rb +0 -0
- data/lib/oauth/version.rb +1 -1
- data/lib/oauth.rb +8 -7
- metadata +182 -64
- data/README.rdoc +0 -85
- data/lib/oauth/core_ext.rb +0 -53
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.7.pre.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pelle Braendgaard
|
@@ -12,13 +12,70 @@ authors:
|
|
12
12
|
- Seth Fitzsimmons
|
13
13
|
- Matt Sanford
|
14
14
|
- Aaron Quint
|
15
|
-
|
15
|
+
- Peter Boling
|
16
|
+
autorequire:
|
16
17
|
bindir: bin
|
17
18
|
cert_chain: []
|
18
|
-
date:
|
19
|
+
date: 2021-11-01 00:00:00.000000000 Z
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
22
|
+
name: actionpack
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '5.0'
|
28
|
+
type: :development
|
29
|
+
prerelease: false
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '5.0'
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: byebug
|
37
|
+
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '11.1'
|
42
|
+
type: :development
|
43
|
+
prerelease: false
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '11.1'
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: curb
|
51
|
+
requirement: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
type: :development
|
57
|
+
prerelease: false
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: em-http-request
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 1.1.7
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 1.1.7
|
77
|
+
- !ruby/object:Gem::Dependency
|
78
|
+
name: iconv
|
22
79
|
requirement: !ruby/object:Gem::Requirement
|
23
80
|
requirements:
|
24
81
|
- - ">="
|
@@ -46,7 +103,7 @@ dependencies:
|
|
46
103
|
- !ruby/object:Gem::Version
|
47
104
|
version: '0'
|
48
105
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
106
|
+
name: mocha
|
50
107
|
requirement: !ruby/object:Gem::Requirement
|
51
108
|
requirements:
|
52
109
|
- - ">="
|
@@ -60,21 +117,21 @@ dependencies:
|
|
60
117
|
- !ruby/object:Gem::Version
|
61
118
|
version: '0'
|
62
119
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
120
|
+
name: rack
|
64
121
|
requirement: !ruby/object:Gem::Requirement
|
65
122
|
requirements:
|
66
123
|
- - "~>"
|
67
124
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
125
|
+
version: '2.0'
|
69
126
|
type: :development
|
70
127
|
prerelease: false
|
71
128
|
version_requirements: !ruby/object:Gem::Requirement
|
72
129
|
requirements:
|
73
130
|
- - "~>"
|
74
131
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
132
|
+
version: '2.0'
|
76
133
|
- !ruby/object:Gem::Dependency
|
77
|
-
name:
|
134
|
+
name: rack-test
|
78
135
|
requirement: !ruby/object:Gem::Requirement
|
79
136
|
requirements:
|
80
137
|
- - ">="
|
@@ -88,21 +145,21 @@ dependencies:
|
|
88
145
|
- !ruby/object:Gem::Version
|
89
146
|
version: '0'
|
90
147
|
- !ruby/object:Gem::Dependency
|
91
|
-
name:
|
148
|
+
name: rake
|
92
149
|
requirement: !ruby/object:Gem::Requirement
|
93
150
|
requirements:
|
94
151
|
- - "~>"
|
95
152
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
153
|
+
version: '13.0'
|
97
154
|
type: :development
|
98
155
|
prerelease: false
|
99
156
|
version_requirements: !ruby/object:Gem::Requirement
|
100
157
|
requirements:
|
101
158
|
- - "~>"
|
102
159
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
160
|
+
version: '13.0'
|
104
161
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
162
|
+
name: rest-client
|
106
163
|
requirement: !ruby/object:Gem::Requirement
|
107
164
|
requirements:
|
108
165
|
- - ">="
|
@@ -116,129 +173,185 @@ dependencies:
|
|
116
173
|
- !ruby/object:Gem::Version
|
117
174
|
version: '0'
|
118
175
|
- !ruby/object:Gem::Dependency
|
119
|
-
name:
|
176
|
+
name: rubocop
|
120
177
|
requirement: !ruby/object:Gem::Requirement
|
121
178
|
requirements:
|
122
|
-
- - "
|
179
|
+
- - "~>"
|
123
180
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
181
|
+
version: '1.22'
|
125
182
|
type: :development
|
126
183
|
prerelease: false
|
127
184
|
version_requirements: !ruby/object:Gem::Requirement
|
128
185
|
requirements:
|
129
|
-
- - "
|
186
|
+
- - "~>"
|
130
187
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
188
|
+
version: '1.22'
|
132
189
|
- !ruby/object:Gem::Dependency
|
133
|
-
name:
|
190
|
+
name: rubocop-faker
|
134
191
|
requirement: !ruby/object:Gem::Requirement
|
135
192
|
requirements:
|
136
|
-
- - "
|
193
|
+
- - "~>"
|
137
194
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
195
|
+
version: '1.1'
|
139
196
|
type: :development
|
140
197
|
prerelease: false
|
141
198
|
version_requirements: !ruby/object:Gem::Requirement
|
142
199
|
requirements:
|
143
|
-
- - "
|
200
|
+
- - "~>"
|
144
201
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
202
|
+
version: '1.1'
|
146
203
|
- !ruby/object:Gem::Dependency
|
147
|
-
name:
|
204
|
+
name: rubocop-md
|
148
205
|
requirement: !ruby/object:Gem::Requirement
|
149
206
|
requirements:
|
150
|
-
- -
|
207
|
+
- - "~>"
|
151
208
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0
|
209
|
+
version: '1.0'
|
153
210
|
type: :development
|
154
211
|
prerelease: false
|
155
212
|
version_requirements: !ruby/object:Gem::Requirement
|
156
213
|
requirements:
|
157
|
-
- -
|
214
|
+
- - "~>"
|
158
215
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0
|
216
|
+
version: '1.0'
|
160
217
|
- !ruby/object:Gem::Dependency
|
161
|
-
name:
|
218
|
+
name: rubocop-minitest
|
162
219
|
requirement: !ruby/object:Gem::Requirement
|
163
220
|
requirements:
|
164
|
-
- - "
|
221
|
+
- - "~>"
|
165
222
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
223
|
+
version: '0.15'
|
167
224
|
type: :development
|
168
225
|
prerelease: false
|
169
226
|
version_requirements: !ruby/object:Gem::Requirement
|
170
227
|
requirements:
|
171
|
-
- - "
|
228
|
+
- - "~>"
|
172
229
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
230
|
+
version: '0.15'
|
174
231
|
- !ruby/object:Gem::Dependency
|
175
|
-
name:
|
232
|
+
name: rubocop-packaging
|
176
233
|
requirement: !ruby/object:Gem::Requirement
|
177
234
|
requirements:
|
178
|
-
- - "
|
235
|
+
- - "~>"
|
179
236
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
237
|
+
version: '0.5'
|
181
238
|
type: :development
|
182
239
|
prerelease: false
|
183
240
|
version_requirements: !ruby/object:Gem::Requirement
|
184
241
|
requirements:
|
185
|
-
- - "
|
242
|
+
- - "~>"
|
186
243
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
244
|
+
version: '0.5'
|
188
245
|
- !ruby/object:Gem::Dependency
|
189
|
-
name:
|
246
|
+
name: rubocop-performance
|
190
247
|
requirement: !ruby/object:Gem::Requirement
|
191
248
|
requirements:
|
192
|
-
- - "
|
249
|
+
- - "~>"
|
193
250
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
251
|
+
version: '1.11'
|
195
252
|
type: :development
|
196
253
|
prerelease: false
|
197
254
|
version_requirements: !ruby/object:Gem::Requirement
|
198
255
|
requirements:
|
199
|
-
- - "
|
256
|
+
- - "~>"
|
200
257
|
- !ruby/object:Gem::Version
|
201
|
-
version: '
|
258
|
+
version: '1.11'
|
259
|
+
- !ruby/object:Gem::Dependency
|
260
|
+
name: rubocop-rake
|
261
|
+
requirement: !ruby/object:Gem::Requirement
|
262
|
+
requirements:
|
263
|
+
- - "~>"
|
264
|
+
- !ruby/object:Gem::Version
|
265
|
+
version: '0.6'
|
266
|
+
type: :development
|
267
|
+
prerelease: false
|
268
|
+
version_requirements: !ruby/object:Gem::Requirement
|
269
|
+
requirements:
|
270
|
+
- - "~>"
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
version: '0.6'
|
273
|
+
- !ruby/object:Gem::Dependency
|
274
|
+
name: rubocop-thread_safety
|
275
|
+
requirement: !ruby/object:Gem::Requirement
|
276
|
+
requirements:
|
277
|
+
- - "~>"
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
version: '0.4'
|
280
|
+
type: :development
|
281
|
+
prerelease: false
|
282
|
+
version_requirements: !ruby/object:Gem::Requirement
|
283
|
+
requirements:
|
284
|
+
- - "~>"
|
285
|
+
- !ruby/object:Gem::Version
|
286
|
+
version: '0.4'
|
202
287
|
- !ruby/object:Gem::Dependency
|
203
288
|
name: simplecov
|
204
289
|
requirement: !ruby/object:Gem::Requirement
|
205
290
|
requirements:
|
206
|
-
- - "
|
291
|
+
- - "~>"
|
207
292
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0'
|
293
|
+
version: '0.21'
|
209
294
|
type: :development
|
210
295
|
prerelease: false
|
211
296
|
version_requirements: !ruby/object:Gem::Requirement
|
212
297
|
requirements:
|
213
|
-
- - "
|
298
|
+
- - "~>"
|
214
299
|
- !ruby/object:Gem::Version
|
215
|
-
version: '0'
|
300
|
+
version: '0.21'
|
216
301
|
- !ruby/object:Gem::Dependency
|
217
|
-
name:
|
302
|
+
name: simplecov-cobertura
|
303
|
+
requirement: !ruby/object:Gem::Requirement
|
304
|
+
requirements:
|
305
|
+
- - "~>"
|
306
|
+
- !ruby/object:Gem::Version
|
307
|
+
version: '1.4'
|
308
|
+
type: :development
|
309
|
+
prerelease: false
|
310
|
+
version_requirements: !ruby/object:Gem::Requirement
|
311
|
+
requirements:
|
312
|
+
- - "~>"
|
313
|
+
- !ruby/object:Gem::Version
|
314
|
+
version: '1.4'
|
315
|
+
- !ruby/object:Gem::Dependency
|
316
|
+
name: typhoeus
|
218
317
|
requirement: !ruby/object:Gem::Requirement
|
219
318
|
requirements:
|
220
319
|
- - ">="
|
221
320
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
321
|
+
version: 0.1.13
|
223
322
|
type: :development
|
224
323
|
prerelease: false
|
225
324
|
version_requirements: !ruby/object:Gem::Requirement
|
226
325
|
requirements:
|
227
326
|
- - ">="
|
228
327
|
- !ruby/object:Gem::Version
|
229
|
-
version:
|
230
|
-
|
231
|
-
|
328
|
+
version: 0.1.13
|
329
|
+
- !ruby/object:Gem::Dependency
|
330
|
+
name: webmock
|
331
|
+
requirement: !ruby/object:Gem::Requirement
|
332
|
+
requirements:
|
333
|
+
- - "<="
|
334
|
+
- !ruby/object:Gem::Version
|
335
|
+
version: 3.14.0
|
336
|
+
type: :development
|
337
|
+
prerelease: false
|
338
|
+
version_requirements: !ruby/object:Gem::Requirement
|
339
|
+
requirements:
|
340
|
+
- - "<="
|
341
|
+
- !ruby/object:Gem::Version
|
342
|
+
version: 3.14.0
|
343
|
+
description:
|
344
|
+
email: oauth-ruby@googlegroups.com
|
232
345
|
executables:
|
233
346
|
- oauth
|
234
347
|
extensions: []
|
235
348
|
extra_rdoc_files:
|
236
|
-
- LICENSE
|
237
|
-
- README.rdoc
|
238
349
|
- TODO
|
239
350
|
files:
|
351
|
+
- CHANGELOG.md
|
352
|
+
- CODE_OF_CONDUCT.md
|
240
353
|
- LICENSE
|
241
|
-
- README.
|
354
|
+
- README.md
|
242
355
|
- TODO
|
243
356
|
- bin/oauth
|
244
357
|
- lib/oauth.rb
|
@@ -255,7 +368,6 @@ files:
|
|
255
368
|
- lib/oauth/client/helper.rb
|
256
369
|
- lib/oauth/client/net_http.rb
|
257
370
|
- lib/oauth/consumer.rb
|
258
|
-
- lib/oauth/core_ext.rb
|
259
371
|
- lib/oauth/errors.rb
|
260
372
|
- lib/oauth/errors/error.rb
|
261
373
|
- lib/oauth/errors/problem.rb
|
@@ -265,6 +377,7 @@ files:
|
|
265
377
|
- lib/oauth/oauth_test_helper.rb
|
266
378
|
- lib/oauth/request_proxy.rb
|
267
379
|
- lib/oauth/request_proxy/action_controller_request.rb
|
380
|
+
- lib/oauth/request_proxy/action_dispatch_request.rb
|
268
381
|
- lib/oauth/request_proxy/base.rb
|
269
382
|
- lib/oauth/request_proxy/curb_request.rb
|
270
383
|
- lib/oauth/request_proxy/em_http_request.rb
|
@@ -278,6 +391,7 @@ files:
|
|
278
391
|
- lib/oauth/signature.rb
|
279
392
|
- lib/oauth/signature/base.rb
|
280
393
|
- lib/oauth/signature/hmac/sha1.rb
|
394
|
+
- lib/oauth/signature/hmac/sha256.rb
|
281
395
|
- lib/oauth/signature/plaintext.rb
|
282
396
|
- lib/oauth/signature/rsa/sha1.rb
|
283
397
|
- lib/oauth/token.rb
|
@@ -287,11 +401,16 @@ files:
|
|
287
401
|
- lib/oauth/tokens/server_token.rb
|
288
402
|
- lib/oauth/tokens/token.rb
|
289
403
|
- lib/oauth/version.rb
|
290
|
-
homepage:
|
404
|
+
homepage: https://github.com/oauth-xx/oauth-ruby
|
291
405
|
licenses:
|
292
406
|
- MIT
|
293
|
-
metadata:
|
294
|
-
|
407
|
+
metadata:
|
408
|
+
bug_tracker_uri: https://github.com/oauth-xx/oauth-ruby/issues
|
409
|
+
changelog_uri: https://github.com/oauth-xx/oauth-ruby/blob/master/CHANGELOG.md
|
410
|
+
documentation_uri: https://rubydoc.info/github/oauth-xx/oauth-ruby/master
|
411
|
+
homepage_uri: https://github.com/oauth-xx/oauth-ruby
|
412
|
+
source_code_uri: https://github.com/oauth-xx/oauth-ruby
|
413
|
+
post_install_message:
|
295
414
|
rdoc_options: []
|
296
415
|
require_paths:
|
297
416
|
- lib
|
@@ -302,13 +421,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
302
421
|
version: '2.0'
|
303
422
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
304
423
|
requirements:
|
305
|
-
- - "
|
424
|
+
- - ">"
|
306
425
|
- !ruby/object:Gem::Version
|
307
|
-
version:
|
426
|
+
version: 1.3.1
|
308
427
|
requirements: []
|
309
|
-
|
310
|
-
|
311
|
-
signing_key:
|
428
|
+
rubygems_version: 3.0.3.1
|
429
|
+
signing_key:
|
312
430
|
specification_version: 4
|
313
431
|
summary: OAuth Core Ruby implementation
|
314
432
|
test_files: []
|
data/README.rdoc
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
= Ruby OAuth
|
2
|
-
|
3
|
-
== Status
|
4
|
-
|
5
|
-
{<img src="https://travis-ci.org/oauth-xx/oauth-ruby.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/oauth-xx/oauth-ruby]
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
== What
|
10
|
-
|
11
|
-
This is a RubyGem for implementing both OAuth clients and servers in Ruby applications.
|
12
|
-
|
13
|
-
See the OAuth specs http://oauth.net/core/1.0/
|
14
|
-
|
15
|
-
== Installing
|
16
|
-
|
17
|
-
sudo gem install oauth
|
18
|
-
|
19
|
-
The source code is now hosted on the OAuth GitHub Project http://github.com/oauth-xx/oauth-ruby
|
20
|
-
|
21
|
-
== The basics
|
22
|
-
|
23
|
-
This is a ruby library which is intended to be used in creating Ruby Consumer and Service Provider applications. It is NOT a Rails plugin, but could easily be used for the foundation for such a Rails plugin.
|
24
|
-
|
25
|
-
As a matter of fact it has been pulled out from an OAuth Rails GEM (https://rubygems.org/gems/oauth-plugin https://github.com/pelle/oauth-plugin) which now uses this gem as a dependency.
|
26
|
-
|
27
|
-
== Demonstration of usage
|
28
|
-
|
29
|
-
We need to specify the oauth_callback url explicitly, otherwise it defaults to "oob" (Out of Band)
|
30
|
-
|
31
|
-
@callback_url = "http://127.0.0.1:3000/oauth/callback"
|
32
|
-
|
33
|
-
Create a new consumer instance by passing it a configuration hash:
|
34
|
-
|
35
|
-
@consumer = OAuth::Consumer.new("key","secret", :site => "https://agree2")
|
36
|
-
|
37
|
-
Start the process by requesting a token
|
38
|
-
|
39
|
-
@request_token = @consumer.get_request_token(:oauth_callback => @callback_url)
|
40
|
-
|
41
|
-
session[:token] = request_token.token
|
42
|
-
session[:token_secret] = request_token.secret
|
43
|
-
redirect_to @request_token.authorize_url(:oauth_callback => @callback_url)
|
44
|
-
|
45
|
-
When user returns create an access_token
|
46
|
-
|
47
|
-
hash = { oauth_token: session[:token], oauth_token_secret: session[:token_secret]}
|
48
|
-
request_token = OAuth::RequestToken.from_hash(@consumer, hash)
|
49
|
-
@access_token = @request_token.get_access_token
|
50
|
-
@photos = @access_token.get('/photos.xml')
|
51
|
-
|
52
|
-
Now that you have an access token, you can use Typhoeus to interact with the OAuth provider if you choose.
|
53
|
-
|
54
|
-
require 'oauth/request_proxy/typhoeus_request'
|
55
|
-
oauth_params = {:consumer => oauth_consumer, :token => access_token}
|
56
|
-
hydra = Typhoeus::Hydra.new
|
57
|
-
req = Typhoeus::Request.new(uri, options) # :method needs to be specified in options
|
58
|
-
oauth_helper = OAuth::Client::Helper.new(req, oauth_params.merge(:request_uri => uri))
|
59
|
-
req.options[:headers].merge!({"Authorization" => oauth_helper.header}) # Signs the request
|
60
|
-
hydra.queue(req)
|
61
|
-
hydra.run
|
62
|
-
@response = req.response
|
63
|
-
|
64
|
-
|
65
|
-
== More Information
|
66
|
-
|
67
|
-
* RDoc: http://rdoc.info/github/oauth-xx/oauth-ruby/master/frames
|
68
|
-
* Mailing List/Google Group: http://groups.google.com/group/oauth-ruby
|
69
|
-
|
70
|
-
== How to submit patches
|
71
|
-
|
72
|
-
The source code is now hosted on the OAuth GitHub Project http://github.com/oauth-xx/oauth-ruby
|
73
|
-
|
74
|
-
To submit a patch, please fork the oauth project and create a patch with tests. Once you're happy with it send a pull request and post a message to the google group.
|
75
|
-
|
76
|
-
== License
|
77
|
-
|
78
|
-
This code is free to use under the terms of the MIT license.
|
79
|
-
|
80
|
-
== Contact
|
81
|
-
|
82
|
-
OAuth Ruby has been created and maintained by a large number of talented individuals.
|
83
|
-
The current maintainer is Aaron Quint (quirkey).
|
84
|
-
|
85
|
-
Comments are welcome. Send an email to via the OAuth Ruby mailing list http://groups.google.com/group/oauth-ruby
|
data/lib/oauth/core_ext.rb
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
# these are to backport methods from 1.8.7/1.9.1 to 1.8.6
|
2
|
-
|
3
|
-
class Object
|
4
|
-
|
5
|
-
unless method_defined?(:tap)
|
6
|
-
def tap
|
7
|
-
yield self
|
8
|
-
self
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
class String
|
15
|
-
|
16
|
-
unless method_defined?(:bytesize)
|
17
|
-
def bytesize
|
18
|
-
self.size
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
unless method_defined?(:bytes)
|
23
|
-
def bytes
|
24
|
-
require 'enumerator'
|
25
|
-
Enumerable::Enumerator.new(self, :each_byte)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
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
|