oauth 0.5.7 → 0.5.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +64 -104
- data/CODE_OF_CONDUCT.md +0 -0
- data/CONTRIBUTING.md +23 -0
- data/LICENSE +0 -0
- data/README.md +245 -96
- data/SECURITY.md +16 -0
- data/TODO +0 -0
- data/lib/oauth/cli/authorize_command.rb +8 -10
- data/lib/oauth/cli/base_command.rb +8 -6
- data/lib/oauth/cli/help_command.rb +0 -0
- data/lib/oauth/cli/query_command.rb +3 -3
- data/lib/oauth/cli/sign_command.rb +12 -15
- data/lib/oauth/cli/version_command.rb +0 -0
- data/lib/oauth/cli.rb +2 -2
- data/lib/oauth/client/action_controller_request.rb +14 -15
- data/lib/oauth/client/em_http.rb +28 -28
- data/lib/oauth/client/helper.rb +14 -17
- data/lib/oauth/client/net_http.rb +27 -27
- data/lib/oauth/client.rb +0 -0
- data/lib/oauth/consumer.rb +52 -62
- data/lib/oauth/errors/error.rb +0 -0
- data/lib/oauth/errors/problem.rb +0 -0
- data/lib/oauth/errors/unauthorized.rb +0 -0
- data/lib/oauth/errors.rb +0 -0
- data/lib/oauth/helper.rb +7 -7
- data/lib/oauth/oauth.rb +4 -4
- data/lib/oauth/oauth_test_helper.rb +0 -0
- data/lib/oauth/request_proxy/action_controller_request.rb +0 -0
- data/lib/oauth/request_proxy/action_dispatch_request.rb +0 -0
- data/lib/oauth/request_proxy/base.rb +3 -3
- data/lib/oauth/request_proxy/curb_request.rb +0 -0
- data/lib/oauth/request_proxy/em_http_request.rb +0 -0
- data/lib/oauth/request_proxy/jabber_request.rb +0 -0
- data/lib/oauth/request_proxy/mock_request.rb +0 -0
- data/lib/oauth/request_proxy/net_http.rb +2 -2
- data/lib/oauth/request_proxy/rack_request.rb +0 -0
- data/lib/oauth/request_proxy/rest_client_request.rb +2 -2
- data/lib/oauth/request_proxy/typhoeus_request.rb +0 -0
- data/lib/oauth/request_proxy.rb +3 -3
- data/lib/oauth/server.rb +8 -10
- data/lib/oauth/signature/base.rb +3 -4
- data/lib/oauth/signature/hmac/sha1.rb +1 -1
- data/lib/oauth/signature/hmac/sha256.rb +1 -1
- data/lib/oauth/signature/plaintext.rb +0 -0
- data/lib/oauth/signature/rsa/sha1.rb +3 -3
- data/lib/oauth/signature.rb +5 -5
- data/lib/oauth/token.rb +0 -0
- data/lib/oauth/tokens/access_token.rb +0 -0
- data/lib/oauth/tokens/consumer_token.rb +2 -2
- data/lib/oauth/tokens/request_token.rb +7 -8
- data/lib/oauth/tokens/server_token.rb +0 -1
- data/lib/oauth/tokens/token.rb +0 -0
- data/lib/oauth/version.rb +1 -1
- data/lib/oauth.rb +0 -0
- metadata +17 -182
data/lib/oauth/oauth.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
module OAuth
|
2
2
|
# request tokens are passed between the consumer and the provider out of
|
3
3
|
# band (i.e. callbacks cannot be used), per section 6.1.1
|
4
|
-
OUT_OF_BAND = "oob"
|
4
|
+
OUT_OF_BAND = "oob".freeze
|
5
5
|
|
6
6
|
# required parameters, per sections 6.1.1, 6.3.1, and 7
|
7
|
-
PARAMETERS = %w
|
8
|
-
|
9
|
-
|
7
|
+
PARAMETERS = %w[oauth_callback oauth_consumer_key oauth_token
|
8
|
+
oauth_signature_method oauth_timestamp oauth_nonce oauth_verifier
|
9
|
+
oauth_version oauth_signature oauth_body_hash].freeze
|
10
10
|
|
11
11
|
# reserved character regexp, per section 5.1
|
12
12
|
RESERVED_CHARACTERS = /[^a-zA-Z0-9\-\.\_\~]/
|
File without changes
|
File without changes
|
File without changes
|
@@ -79,15 +79,15 @@ module OAuth
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def parameters_for_signature
|
82
|
-
parameters.
|
82
|
+
parameters.reject { |k, _v| signature_and_unsigned_parameters.include?(k) }
|
83
83
|
end
|
84
84
|
|
85
85
|
def oauth_parameters
|
86
|
-
parameters.select { |k, _v| OAuth::PARAMETERS.include?(k) }.
|
86
|
+
parameters.select { |k, _v| OAuth::PARAMETERS.include?(k) }.reject { |_k, v| v == "" }
|
87
87
|
end
|
88
88
|
|
89
89
|
def non_oauth_parameters
|
90
|
-
parameters.
|
90
|
+
parameters.reject { |k, _v| OAuth::PARAMETERS.include?(k) }
|
91
91
|
end
|
92
92
|
|
93
93
|
def signature_and_unsigned_parameters
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -39,8 +39,8 @@ module OAuth
|
|
39
39
|
# request_params.each{|k,v| request_params[k] = [nil] if v == []}
|
40
40
|
|
41
41
|
if options[:parameters]
|
42
|
-
options[:parameters].each do |k,v|
|
43
|
-
if request_params.
|
42
|
+
options[:parameters].each do |k, v|
|
43
|
+
if request_params.key?(k) && v
|
44
44
|
request_params[k] << v
|
45
45
|
else
|
46
46
|
request_params[k] = [v]
|
File without changes
|
@@ -51,9 +51,9 @@ module OAuth
|
|
51
51
|
query.split("&").inject({}) do |result, q|
|
52
52
|
k, v = q.split("=")
|
53
53
|
if !v.nil?
|
54
|
-
result.merge(
|
54
|
+
result.merge(k => v)
|
55
55
|
elsif !result.key?(k)
|
56
|
-
result.merge(
|
56
|
+
result.merge(k => true)
|
57
57
|
else
|
58
58
|
result
|
59
59
|
end
|
File without changes
|
data/lib/oauth/request_proxy.rb
CHANGED
@@ -5,13 +5,13 @@ module OAuth
|
|
5
5
|
end
|
6
6
|
|
7
7
|
def self.proxy(request, options = {})
|
8
|
-
return request if request.
|
8
|
+
return request if request.is_a?(OAuth::RequestProxy::Base)
|
9
9
|
|
10
10
|
klass = available_proxies[request.class]
|
11
11
|
|
12
12
|
# Search for possible superclass matches.
|
13
13
|
if klass.nil?
|
14
|
-
request_parent = available_proxies.keys.find { |rc| request.
|
14
|
+
request_parent = available_proxies.keys.find { |rc| request.is_a?(rc) }
|
15
15
|
klass = available_proxies[request_parent]
|
16
16
|
end
|
17
17
|
|
@@ -19,6 +19,6 @@ module OAuth
|
|
19
19
|
klass.new(request, options)
|
20
20
|
end
|
21
21
|
|
22
|
-
class UnknownRequestType <
|
22
|
+
class UnknownRequestType < RuntimeError; end
|
23
23
|
end
|
24
24
|
end
|
data/lib/oauth/server.rb
CHANGED
@@ -8,9 +8,9 @@ module OAuth
|
|
8
8
|
attr_accessor :base_url
|
9
9
|
|
10
10
|
@@server_paths = {
|
11
|
-
:
|
12
|
-
:
|
13
|
-
:
|
11
|
+
request_token_path: "/oauth/request_token",
|
12
|
+
authorize_path: "/oauth/authorize",
|
13
|
+
access_token_path: "/oauth/access_token"
|
14
14
|
}
|
15
15
|
|
16
16
|
# Create a new server instance
|
@@ -23,7 +23,7 @@ module OAuth
|
|
23
23
|
[generate_key(16), generate_key]
|
24
24
|
end
|
25
25
|
|
26
|
-
def generate_consumer_credentials(
|
26
|
+
def generate_consumer_credentials(_params = {})
|
27
27
|
Consumer.new(*generate_credentials)
|
28
28
|
end
|
29
29
|
|
@@ -31,12 +31,10 @@ module OAuth
|
|
31
31
|
def create_consumer
|
32
32
|
creds = generate_credentials
|
33
33
|
Consumer.new(creds[0], creds[1],
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
:access_token_path => access_token_path
|
39
|
-
})
|
34
|
+
site: base_url,
|
35
|
+
request_token_path: request_token_path,
|
36
|
+
authorize_path: authorize_path,
|
37
|
+
access_token_path: access_token_path)
|
40
38
|
end
|
41
39
|
|
42
40
|
def request_token_path
|
data/lib/oauth/signature/base.rb
CHANGED
@@ -17,7 +17,7 @@ module OAuth::Signature
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def initialize(request, options = {}, &block)
|
20
|
-
raise TypeError unless request.
|
20
|
+
raise TypeError unless request.is_a?(OAuth::RequestProxy::Base)
|
21
21
|
@request = request
|
22
22
|
@options = options
|
23
23
|
|
@@ -47,7 +47,7 @@ module OAuth::Signature
|
|
47
47
|
end
|
48
48
|
|
49
49
|
def signature
|
50
|
-
Base64.encode64(digest).chomp.
|
50
|
+
Base64.encode64(digest).chomp.delete("\n")
|
51
51
|
end
|
52
52
|
|
53
53
|
def ==(cmp_signature)
|
@@ -57,7 +57,7 @@ module OAuth::Signature
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def verify
|
60
|
-
self ==
|
60
|
+
self == request.signature
|
61
61
|
end
|
62
62
|
|
63
63
|
def signature_base_string
|
@@ -93,6 +93,5 @@ module OAuth::Signature
|
|
93
93
|
def raise_instantiation_error
|
94
94
|
raise NotImplementedError, "Cannot instantiate #{self.class.name} class directly."
|
95
95
|
end
|
96
|
-
|
97
96
|
end
|
98
97
|
end
|
@@ -5,7 +5,7 @@ module OAuth::Signature::HMAC
|
|
5
5
|
implements "hmac-sha1"
|
6
6
|
|
7
7
|
def body_hash
|
8
|
-
Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.
|
8
|
+
Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
|
9
9
|
end
|
10
10
|
|
11
11
|
private
|
@@ -5,7 +5,7 @@ module OAuth::Signature::HMAC
|
|
5
5
|
implements "hmac-sha256"
|
6
6
|
|
7
7
|
def body_hash
|
8
|
-
Base64.encode64(OpenSSL::Digest::SHA256.digest(request.body || "")).chomp.
|
8
|
+
Base64.encode64(OpenSSL::Digest::SHA256.digest(request.body || "")).chomp.delete("\n")
|
9
9
|
end
|
10
10
|
|
11
11
|
private
|
File without changes
|
@@ -19,7 +19,7 @@ module OAuth::Signature::RSA
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def body_hash
|
22
|
-
Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.
|
22
|
+
Base64.encode64(OpenSSL::Digest::SHA1.digest(request.body || "")).chomp.delete("\n")
|
23
23
|
end
|
24
24
|
|
25
25
|
private
|
@@ -27,9 +27,9 @@ module OAuth::Signature::RSA
|
|
27
27
|
def decode_public_key
|
28
28
|
case consumer_secret
|
29
29
|
when /-----BEGIN CERTIFICATE-----/
|
30
|
-
OpenSSL::X509::Certificate.new(
|
30
|
+
OpenSSL::X509::Certificate.new(consumer_secret).public_key
|
31
31
|
else
|
32
|
-
OpenSSL::PKey::RSA.new(
|
32
|
+
OpenSSL::PKey::RSA.new(consumer_secret)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
data/lib/oauth/signature.rb
CHANGED
@@ -20,26 +20,26 @@ module OAuth
|
|
20
20
|
|
21
21
|
# Sign a +request+
|
22
22
|
def self.sign(request, options = {}, &block)
|
23
|
-
|
23
|
+
build(request, options, &block).signature
|
24
24
|
end
|
25
25
|
|
26
26
|
# Verify the signature of +request+
|
27
27
|
def self.verify(request, options = {}, &block)
|
28
|
-
|
28
|
+
build(request, options, &block).verify
|
29
29
|
end
|
30
30
|
|
31
31
|
# Create the signature base string for +request+. This string is the normalized parameter information.
|
32
32
|
#
|
33
33
|
# See Also: {OAuth core spec version 1.0, section 9.1.1}[http://oauth.net/core/1.0#rfc.section.9.1.1]
|
34
34
|
def self.signature_base_string(request, options = {}, &block)
|
35
|
-
|
35
|
+
build(request, options, &block).signature_base_string
|
36
36
|
end
|
37
37
|
|
38
38
|
# Create the body hash for a request
|
39
39
|
def self.body_hash(request, options = {}, &block)
|
40
|
-
|
40
|
+
build(request, options, &block).body_hash
|
41
41
|
end
|
42
42
|
|
43
|
-
class UnknownSignatureMethod <
|
43
|
+
class UnknownSignatureMethod < RuntimeError; end
|
44
44
|
end
|
45
45
|
end
|
data/lib/oauth/token.rb
CHANGED
File without changes
|
File without changes
|
@@ -5,12 +5,12 @@ module OAuth
|
|
5
5
|
attr_reader :response
|
6
6
|
|
7
7
|
def self.from_hash(consumer, hash)
|
8
|
-
token =
|
8
|
+
token = new(consumer, hash[:oauth_token], hash[:oauth_token_secret])
|
9
9
|
token.params = hash
|
10
10
|
token
|
11
11
|
end
|
12
12
|
|
13
|
-
def initialize(consumer, token="", secret="")
|
13
|
+
def initialize(consumer, token = "", secret = "")
|
14
14
|
super(token, secret)
|
15
15
|
@consumer = consumer
|
16
16
|
@params = {}
|
@@ -2,19 +2,18 @@ module OAuth
|
|
2
2
|
# The RequestToken is used for the initial Request.
|
3
3
|
# This is normally created by the Consumer object.
|
4
4
|
class RequestToken < ConsumerToken
|
5
|
-
|
6
5
|
# Generate an authorization URL for user authorization
|
7
6
|
def authorize_url(params = nil)
|
8
|
-
return nil if
|
7
|
+
return nil if token.nil?
|
9
8
|
|
10
|
-
params = (params || {}).merge(:
|
9
|
+
params = (params || {}).merge(oauth_token: token)
|
11
10
|
build_url(consumer.authorize_url, params)
|
12
11
|
end
|
13
12
|
|
14
13
|
def authenticate_url(params = nil)
|
15
|
-
return nil if
|
14
|
+
return nil if token.nil?
|
16
15
|
|
17
|
-
params = (params || {}).merge(:
|
16
|
+
params = (params || {}).merge(oauth_token: token)
|
18
17
|
build_url(consumer.authenticate_url, params)
|
19
18
|
end
|
20
19
|
|
@@ -28,16 +27,16 @@ module OAuth
|
|
28
27
|
OAuth::AccessToken.from_hash(consumer, response)
|
29
28
|
end
|
30
29
|
|
31
|
-
|
30
|
+
protected
|
32
31
|
|
33
32
|
# construct an authorization or authentication url
|
34
33
|
def build_url(base_url, params)
|
35
34
|
uri = URI.parse(base_url.to_s)
|
36
35
|
queries = {}
|
37
36
|
queries = Hash[URI.decode_www_form(uri.query)] if uri.query
|
38
|
-
# TODO doesn't handle array values correctly
|
37
|
+
# TODO: doesn't handle array values correctly
|
39
38
|
queries.merge!(params) if params
|
40
|
-
uri.query = URI.encode_www_form(queries)
|
39
|
+
uri.query = URI.encode_www_form(queries) unless queries.empty?
|
41
40
|
uri.to_s
|
42
41
|
end
|
43
42
|
end
|
data/lib/oauth/tokens/token.rb
CHANGED
File without changes
|
data/lib/oauth/version.rb
CHANGED
data/lib/oauth.rb
CHANGED
File without changes
|
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.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pelle Braendgaard
|
@@ -13,39 +13,11 @@ authors:
|
|
13
13
|
- Matt Sanford
|
14
14
|
- Aaron Quint
|
15
15
|
- Peter Boling
|
16
|
-
autorequire:
|
16
|
+
autorequire:
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
|
-
date:
|
19
|
+
date: 2022-05-04 00:00:00.000000000 Z
|
20
20
|
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
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
21
|
- !ruby/object:Gem::Dependency
|
50
22
|
name: curb
|
51
23
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,16 +92,16 @@ dependencies:
|
|
120
92
|
name: rack
|
121
93
|
requirement: !ruby/object:Gem::Requirement
|
122
94
|
requirements:
|
123
|
-
- - "
|
95
|
+
- - ">="
|
124
96
|
- !ruby/object:Gem::Version
|
125
|
-
version: '
|
97
|
+
version: '0'
|
126
98
|
type: :development
|
127
99
|
prerelease: false
|
128
100
|
version_requirements: !ruby/object:Gem::Requirement
|
129
101
|
requirements:
|
130
|
-
- - "
|
102
|
+
- - ">="
|
131
103
|
- !ruby/object:Gem::Version
|
132
|
-
version: '
|
104
|
+
version: '0'
|
133
105
|
- !ruby/object:Gem::Dependency
|
134
106
|
name: rack-test
|
135
107
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,16 +120,16 @@ dependencies:
|
|
148
120
|
name: rake
|
149
121
|
requirement: !ruby/object:Gem::Requirement
|
150
122
|
requirements:
|
151
|
-
- - "
|
123
|
+
- - ">="
|
152
124
|
- !ruby/object:Gem::Version
|
153
|
-
version: '
|
125
|
+
version: '0'
|
154
126
|
type: :development
|
155
127
|
prerelease: false
|
156
128
|
version_requirements: !ruby/object:Gem::Requirement
|
157
129
|
requirements:
|
158
|
-
- - "
|
130
|
+
- - ">="
|
159
131
|
- !ruby/object:Gem::Version
|
160
|
-
version: '
|
132
|
+
version: '0'
|
161
133
|
- !ruby/object:Gem::Dependency
|
162
134
|
name: rest-client
|
163
135
|
requirement: !ruby/object:Gem::Requirement
|
@@ -172,146 +144,6 @@ dependencies:
|
|
172
144
|
- - ">="
|
173
145
|
- !ruby/object:Gem::Version
|
174
146
|
version: '0'
|
175
|
-
- !ruby/object:Gem::Dependency
|
176
|
-
name: rubocop
|
177
|
-
requirement: !ruby/object:Gem::Requirement
|
178
|
-
requirements:
|
179
|
-
- - "~>"
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
version: '1.22'
|
182
|
-
type: :development
|
183
|
-
prerelease: false
|
184
|
-
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
requirements:
|
186
|
-
- - "~>"
|
187
|
-
- !ruby/object:Gem::Version
|
188
|
-
version: '1.22'
|
189
|
-
- !ruby/object:Gem::Dependency
|
190
|
-
name: rubocop-faker
|
191
|
-
requirement: !ruby/object:Gem::Requirement
|
192
|
-
requirements:
|
193
|
-
- - "~>"
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version: '1.1'
|
196
|
-
type: :development
|
197
|
-
prerelease: false
|
198
|
-
version_requirements: !ruby/object:Gem::Requirement
|
199
|
-
requirements:
|
200
|
-
- - "~>"
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
version: '1.1'
|
203
|
-
- !ruby/object:Gem::Dependency
|
204
|
-
name: rubocop-md
|
205
|
-
requirement: !ruby/object:Gem::Requirement
|
206
|
-
requirements:
|
207
|
-
- - "~>"
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: '1.0'
|
210
|
-
type: :development
|
211
|
-
prerelease: false
|
212
|
-
version_requirements: !ruby/object:Gem::Requirement
|
213
|
-
requirements:
|
214
|
-
- - "~>"
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
version: '1.0'
|
217
|
-
- !ruby/object:Gem::Dependency
|
218
|
-
name: rubocop-minitest
|
219
|
-
requirement: !ruby/object:Gem::Requirement
|
220
|
-
requirements:
|
221
|
-
- - "~>"
|
222
|
-
- !ruby/object:Gem::Version
|
223
|
-
version: '0.15'
|
224
|
-
type: :development
|
225
|
-
prerelease: false
|
226
|
-
version_requirements: !ruby/object:Gem::Requirement
|
227
|
-
requirements:
|
228
|
-
- - "~>"
|
229
|
-
- !ruby/object:Gem::Version
|
230
|
-
version: '0.15'
|
231
|
-
- !ruby/object:Gem::Dependency
|
232
|
-
name: rubocop-packaging
|
233
|
-
requirement: !ruby/object:Gem::Requirement
|
234
|
-
requirements:
|
235
|
-
- - "~>"
|
236
|
-
- !ruby/object:Gem::Version
|
237
|
-
version: '0.5'
|
238
|
-
type: :development
|
239
|
-
prerelease: false
|
240
|
-
version_requirements: !ruby/object:Gem::Requirement
|
241
|
-
requirements:
|
242
|
-
- - "~>"
|
243
|
-
- !ruby/object:Gem::Version
|
244
|
-
version: '0.5'
|
245
|
-
- !ruby/object:Gem::Dependency
|
246
|
-
name: rubocop-performance
|
247
|
-
requirement: !ruby/object:Gem::Requirement
|
248
|
-
requirements:
|
249
|
-
- - "~>"
|
250
|
-
- !ruby/object:Gem::Version
|
251
|
-
version: '1.11'
|
252
|
-
type: :development
|
253
|
-
prerelease: false
|
254
|
-
version_requirements: !ruby/object:Gem::Requirement
|
255
|
-
requirements:
|
256
|
-
- - "~>"
|
257
|
-
- !ruby/object:Gem::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'
|
287
|
-
- !ruby/object:Gem::Dependency
|
288
|
-
name: simplecov
|
289
|
-
requirement: !ruby/object:Gem::Requirement
|
290
|
-
requirements:
|
291
|
-
- - "~>"
|
292
|
-
- !ruby/object:Gem::Version
|
293
|
-
version: '0.21'
|
294
|
-
type: :development
|
295
|
-
prerelease: false
|
296
|
-
version_requirements: !ruby/object:Gem::Requirement
|
297
|
-
requirements:
|
298
|
-
- - "~>"
|
299
|
-
- !ruby/object:Gem::Version
|
300
|
-
version: '0.21'
|
301
|
-
- !ruby/object:Gem::Dependency
|
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
147
|
- !ruby/object:Gem::Dependency
|
316
148
|
name: typhoeus
|
317
149
|
requirement: !ruby/object:Gem::Requirement
|
@@ -340,7 +172,7 @@ dependencies:
|
|
340
172
|
- - "<="
|
341
173
|
- !ruby/object:Gem::Version
|
342
174
|
version: 3.14.0
|
343
|
-
description:
|
175
|
+
description:
|
344
176
|
email: oauth-ruby@googlegroups.com
|
345
177
|
executables:
|
346
178
|
- oauth
|
@@ -350,8 +182,10 @@ extra_rdoc_files:
|
|
350
182
|
files:
|
351
183
|
- CHANGELOG.md
|
352
184
|
- CODE_OF_CONDUCT.md
|
185
|
+
- CONTRIBUTING.md
|
353
186
|
- LICENSE
|
354
187
|
- README.md
|
188
|
+
- SECURITY.md
|
355
189
|
- TODO
|
356
190
|
- bin/oauth
|
357
191
|
- lib/oauth.rb
|
@@ -410,7 +244,8 @@ metadata:
|
|
410
244
|
documentation_uri: https://rubydoc.info/github/oauth-xx/oauth-ruby/master
|
411
245
|
homepage_uri: https://github.com/oauth-xx/oauth-ruby
|
412
246
|
source_code_uri: https://github.com/oauth-xx/oauth-ruby
|
413
|
-
|
247
|
+
rubygems_mfa_required: 'true'
|
248
|
+
post_install_message:
|
414
249
|
rdoc_options: []
|
415
250
|
require_paths:
|
416
251
|
- lib
|
@@ -426,7 +261,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
426
261
|
version: '0'
|
427
262
|
requirements: []
|
428
263
|
rubygems_version: 3.0.3.1
|
429
|
-
signing_key:
|
264
|
+
signing_key:
|
430
265
|
specification_version: 4
|
431
266
|
summary: OAuth Core Ruby implementation
|
432
267
|
test_files: []
|