oauth2 1.1.0 → 1.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +19 -0
- data/.jrubyrc +1 -0
- data/.rspec +2 -0
- data/.rubocop.yml +80 -0
- data/.rubocop_rspec.yml +26 -0
- data/.rubocop_todo.yml +15 -0
- data/.ruby-version +1 -0
- data/.travis.yml +87 -0
- data/CHANGELOG.md +152 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +40 -0
- data/LICENSE +22 -0
- data/README.md +131 -22
- data/Rakefile +45 -0
- data/gemfiles/jruby_1.7.gemfile +11 -0
- data/gemfiles/jruby_9.0.gemfile +7 -0
- data/gemfiles/jruby_9.1.gemfile +3 -0
- data/gemfiles/jruby_9.2.gemfile +3 -0
- data/gemfiles/jruby_head.gemfile +3 -0
- data/gemfiles/ruby_1.9.gemfile +11 -0
- data/gemfiles/ruby_2.0.gemfile +6 -0
- data/gemfiles/ruby_2.1.gemfile +6 -0
- data/gemfiles/ruby_2.2.gemfile +3 -0
- data/gemfiles/ruby_2.3.gemfile +3 -0
- data/gemfiles/ruby_2.4.gemfile +3 -0
- data/gemfiles/ruby_2.5.gemfile +3 -0
- data/gemfiles/ruby_2.6.gemfile +9 -0
- data/gemfiles/ruby_2.7.gemfile +9 -0
- data/gemfiles/ruby_head.gemfile +9 -0
- data/gemfiles/truffleruby.gemfile +3 -0
- data/lib/oauth2/access_token.rb +6 -6
- data/lib/oauth2/authenticator.rb +68 -0
- data/lib/oauth2/client.rb +49 -14
- data/lib/oauth2/error.rb +21 -5
- data/lib/oauth2/mac_token.rb +3 -3
- data/lib/oauth2/response.rb +1 -1
- data/lib/oauth2/strategy/assertion.rb +13 -11
- data/lib/oauth2/strategy/auth_code.rb +2 -1
- data/lib/oauth2/strategy/base.rb +0 -7
- data/lib/oauth2/strategy/client_credentials.rb +2 -14
- data/lib/oauth2/strategy/implicit.rb +1 -1
- data/lib/oauth2/strategy/password.rb +2 -2
- data/lib/oauth2/version.rb +2 -2
- data/lib/oauth2.rb +1 -0
- data/oauth2.gemspec +37 -9
- metadata +212 -20
- data/LICENSE.md +0 -20
data/lib/oauth2/error.rb
CHANGED
@@ -8,17 +8,33 @@ module OAuth2
|
|
8
8
|
response.error = self
|
9
9
|
@response = response
|
10
10
|
|
11
|
-
message = []
|
12
|
-
|
13
11
|
if response.parsed.is_a?(Hash)
|
14
12
|
@code = response.parsed['error']
|
15
13
|
@description = response.parsed['error_description']
|
16
|
-
|
14
|
+
error_description = "#{@code}: #{@description}"
|
17
15
|
end
|
18
16
|
|
19
|
-
|
17
|
+
super(error_message(response.body, :error_description => error_description))
|
18
|
+
end
|
19
|
+
|
20
|
+
# Makes a error message
|
21
|
+
# @param [String] response_body response body of request
|
22
|
+
# @param [String] opts :error_description error description to show first line
|
23
|
+
def error_message(response_body, opts = {})
|
24
|
+
message = []
|
25
|
+
|
26
|
+
opts[:error_description] && message << opts[:error_description]
|
27
|
+
|
28
|
+
error_message = if opts[:error_description] && opts[:error_description].respond_to?(:encoding)
|
29
|
+
script_encoding = opts[:error_description].encoding
|
30
|
+
response_body.encode(script_encoding, :invalid => :replace, :undef => :replace)
|
31
|
+
else
|
32
|
+
response_body
|
33
|
+
end
|
34
|
+
|
35
|
+
message << error_message
|
20
36
|
|
21
|
-
|
37
|
+
message.join("\n")
|
22
38
|
end
|
23
39
|
end
|
24
40
|
end
|
data/lib/oauth2/mac_token.rb
CHANGED
@@ -64,7 +64,7 @@ module OAuth2
|
|
64
64
|
|
65
65
|
uri = URI.parse(url)
|
66
66
|
|
67
|
-
|
67
|
+
raise(ArgumentError, "could not parse \"#{url}\" into URI") unless uri.is_a?(URI::HTTP)
|
68
68
|
|
69
69
|
mac = signature(timestamp, nonce, verb, uri)
|
70
70
|
|
@@ -102,7 +102,7 @@ module OAuth2
|
|
102
102
|
when 'hmac-sha-256'
|
103
103
|
OpenSSL::Digest::SHA256.new
|
104
104
|
else
|
105
|
-
|
105
|
+
raise(ArgumentError, 'Unsupported algorithm')
|
106
106
|
end
|
107
107
|
end
|
108
108
|
end
|
@@ -111,7 +111,7 @@ module OAuth2
|
|
111
111
|
|
112
112
|
# No-op since we need the verb and path
|
113
113
|
# and the MAC always goes in a header
|
114
|
-
def token=(
|
114
|
+
def token=(_noop)
|
115
115
|
end
|
116
116
|
|
117
117
|
# Base64.strict_encode64 is not available on Ruby 1.8.7
|
data/lib/oauth2/response.rb
CHANGED
@@ -27,7 +27,7 @@ module OAuth2
|
|
27
27
|
# Adds a new content type parser.
|
28
28
|
#
|
29
29
|
# @param [Symbol] key A descriptive symbol key such as :json or :query.
|
30
|
-
# @param [Array] One or more mime types to which this parser applies.
|
30
|
+
# @param [Array] mime_types One or more mime types to which this parser applies.
|
31
31
|
# @yield [String] A block returning parsed content.
|
32
32
|
def self.register_parser(key, mime_types, &block)
|
33
33
|
key = key.to_sym
|
@@ -25,7 +25,7 @@ module OAuth2
|
|
25
25
|
#
|
26
26
|
# @raise [NotImplementedError]
|
27
27
|
def authorize_url
|
28
|
-
|
28
|
+
raise(NotImplementedError, 'The authorization endpoint is not used in this strategy')
|
29
29
|
end
|
30
30
|
|
31
31
|
# Retrieve an access token given the specified client.
|
@@ -49,19 +49,21 @@ module OAuth2
|
|
49
49
|
|
50
50
|
def build_request(params)
|
51
51
|
assertion = build_assertion(params)
|
52
|
-
{
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
52
|
+
{
|
53
|
+
:grant_type => 'assertion',
|
54
|
+
:assertion_type => 'urn:ietf:params:oauth:grant-type:jwt-bearer',
|
55
|
+
:assertion => assertion,
|
56
|
+
:scope => params[:scope],
|
57
|
+
}
|
57
58
|
end
|
58
59
|
|
59
60
|
def build_assertion(params)
|
60
|
-
claims = {
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
61
|
+
claims = {
|
62
|
+
:iss => params[:iss],
|
63
|
+
:aud => params[:aud],
|
64
|
+
:prn => params[:prn],
|
65
|
+
:exp => params[:exp],
|
66
|
+
}
|
65
67
|
if params[:hmac_secret]
|
66
68
|
JWT.encode(claims, params[:hmac_secret], 'HS256')
|
67
69
|
elsif params[:private_key]
|
@@ -25,7 +25,8 @@ module OAuth2
|
|
25
25
|
# @param [Hash] opts options
|
26
26
|
# @note that you must also provide a :redirect_uri with most OAuth 2.0 providers
|
27
27
|
def get_token(code, params = {}, opts = {})
|
28
|
-
params = {'grant_type' => 'authorization_code', 'code' => code}.merge(
|
28
|
+
params = {'grant_type' => 'authorization_code', 'code' => code}.merge(@client.redirection_params).merge(params)
|
29
|
+
|
29
30
|
@client.get_token(params, opts)
|
30
31
|
end
|
31
32
|
end
|
data/lib/oauth2/strategy/base.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'base64'
|
2
|
-
|
3
1
|
module OAuth2
|
4
2
|
module Strategy
|
5
3
|
# The Client Credentials Strategy
|
@@ -10,7 +8,7 @@ module OAuth2
|
|
10
8
|
#
|
11
9
|
# @raise [NotImplementedError]
|
12
10
|
def authorize_url
|
13
|
-
|
11
|
+
raise(NotImplementedError, 'The authorization endpoint is not used in this strategy')
|
14
12
|
end
|
15
13
|
|
16
14
|
# Retrieve an access token given the specified client.
|
@@ -18,19 +16,9 @@ module OAuth2
|
|
18
16
|
# @param [Hash] params additional params
|
19
17
|
# @param [Hash] opts options
|
20
18
|
def get_token(params = {}, opts = {})
|
21
|
-
|
22
|
-
params['grant_type'] = 'client_credentials'
|
23
|
-
params.merge!(request_body ? client_params : {:headers => {'Authorization' => authorization(client_params['client_id'], client_params['client_secret'])}})
|
19
|
+
params = params.merge('grant_type' => 'client_credentials')
|
24
20
|
@client.get_token(params, opts.merge('refresh_token' => nil))
|
25
21
|
end
|
26
|
-
|
27
|
-
# Returns the Authorization header value for Basic Authentication
|
28
|
-
#
|
29
|
-
# @param [String] The client ID
|
30
|
-
# @param [String] the client secret
|
31
|
-
def authorization(client_id, client_secret)
|
32
|
-
'Basic ' + Base64.encode64(client_id + ':' + client_secret).delete("\n")
|
33
|
-
end
|
34
22
|
end
|
35
23
|
end
|
36
24
|
end
|
@@ -22,7 +22,7 @@ module OAuth2
|
|
22
22
|
#
|
23
23
|
# @raise [NotImplementedError]
|
24
24
|
def get_token(*)
|
25
|
-
|
25
|
+
raise(NotImplementedError, 'The token is accessed differently in this strategy')
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -8,7 +8,7 @@ module OAuth2
|
|
8
8
|
#
|
9
9
|
# @raise [NotImplementedError]
|
10
10
|
def authorize_url
|
11
|
-
|
11
|
+
raise(NotImplementedError, 'The authorization endpoint is not used in this strategy')
|
12
12
|
end
|
13
13
|
|
14
14
|
# Retrieve an access token given the specified End User username and password.
|
@@ -19,7 +19,7 @@ module OAuth2
|
|
19
19
|
def get_token(username, password, params = {}, opts = {})
|
20
20
|
params = {'grant_type' => 'password',
|
21
21
|
'username' => username,
|
22
|
-
'password' => password}.merge(
|
22
|
+
'password' => password}.merge(params)
|
23
23
|
@client.get_token(params, opts)
|
24
24
|
end
|
25
25
|
end
|
data/lib/oauth2/version.rb
CHANGED
data/lib/oauth2.rb
CHANGED
data/oauth2.gemspec
CHANGED
@@ -1,24 +1,52 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'oauth2/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.add_dependency 'faraday', ['>= 0.8', '< 0
|
8
|
-
spec.add_dependency 'jwt', '
|
8
|
+
spec.add_dependency 'faraday', ['>= 0.8', '< 2.0']
|
9
|
+
spec.add_dependency 'jwt', ['>= 1.0', '< 3.0']
|
9
10
|
spec.add_dependency 'multi_json', '~> 1.3'
|
10
11
|
spec.add_dependency 'multi_xml', '~> 0.5'
|
11
12
|
spec.add_dependency 'rack', ['>= 1.2', '< 3']
|
12
|
-
|
13
|
-
spec.authors = ['Michael Bleigh', 'Erik Michaels-Ober']
|
13
|
+
|
14
|
+
spec.authors = ['Peter Boling', 'Michael Bleigh', 'Erik Michaels-Ober']
|
14
15
|
spec.description = 'A Ruby wrapper for the OAuth 2.0 protocol built with a similar style to the original OAuth spec.'
|
15
|
-
spec.email = ['
|
16
|
-
spec.
|
17
|
-
spec.
|
18
|
-
spec.licenses = %w(MIT)
|
16
|
+
spec.email = ['peter.boling@gmail.com']
|
17
|
+
spec.homepage = 'https://github.com/oauth-xx/oauth2'
|
18
|
+
spec.licenses = %w[MIT]
|
19
19
|
spec.name = 'oauth2'
|
20
|
-
spec.
|
20
|
+
spec.required_ruby_version = '>= 1.9.0'
|
21
21
|
spec.required_rubygems_version = '>= 1.3.5'
|
22
22
|
spec.summary = 'A Ruby wrapper for the OAuth 2.0 protocol.'
|
23
23
|
spec.version = OAuth2::Version
|
24
|
+
|
25
|
+
spec.metadata = {
|
26
|
+
'bug_tracker_uri' => 'https://github.com/oauth-xx/oauth2/issues',
|
27
|
+
'changelog_uri' => "https://github.com/oauth-xx/oauth2/blob/v#{spec.version}/CHANGELOG.md",
|
28
|
+
'documentation_uri' => "https://www.rubydoc.info/gems/oauth2/#{spec.version}",
|
29
|
+
'source_code_uri' => "https://github.com/oauth-xx/oauth2/tree/v#{spec.version}",
|
30
|
+
'wiki_uri' => 'https://github.com/oauth-xx/oauth2/wiki'
|
31
|
+
}
|
32
|
+
|
33
|
+
spec.require_paths = %w[lib]
|
34
|
+
spec.bindir = 'exe'
|
35
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
36
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
37
|
+
f.match(%r{^(bin|test|spec|features)/})
|
38
|
+
end
|
39
|
+
|
40
|
+
spec.add_development_dependency 'addressable', '~> 2.3'
|
41
|
+
spec.add_development_dependency 'backports', '~> 3.11'
|
42
|
+
spec.add_development_dependency 'bundler', '>= 1.16'
|
43
|
+
spec.add_development_dependency 'coveralls', '~> 0.8'
|
44
|
+
spec.add_development_dependency 'rake', '~> 12.3'
|
45
|
+
spec.add_development_dependency 'rdoc', ['>= 5.0', '< 7']
|
46
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
47
|
+
spec.add_development_dependency 'rspec-stubbed_env'
|
48
|
+
spec.add_development_dependency 'rspec-pending_for'
|
49
|
+
spec.add_development_dependency 'rspec-block_is_expected'
|
50
|
+
spec.add_development_dependency 'silent_stream'
|
51
|
+
spec.add_development_dependency 'wwtd'
|
24
52
|
end
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oauth2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Peter Boling
|
7
8
|
- Michael Bleigh
|
8
9
|
- Erik Michaels-Ober
|
9
10
|
autorequire:
|
10
|
-
bindir:
|
11
|
+
bindir: exe
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2020-01-29 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: faraday
|
@@ -20,7 +21,7 @@ dependencies:
|
|
20
21
|
version: '0.8'
|
21
22
|
- - "<"
|
22
23
|
- !ruby/object:Gem::Version
|
23
|
-
version: '0
|
24
|
+
version: '2.0'
|
24
25
|
type: :runtime
|
25
26
|
prerelease: false
|
26
27
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -30,27 +31,27 @@ dependencies:
|
|
30
31
|
version: '0.8'
|
31
32
|
- - "<"
|
32
33
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0
|
34
|
+
version: '2.0'
|
34
35
|
- !ruby/object:Gem::Dependency
|
35
36
|
name: jwt
|
36
37
|
requirement: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- - "
|
39
|
+
- - ">="
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: '1.0'
|
41
42
|
- - "<"
|
42
43
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
44
|
+
version: '3.0'
|
44
45
|
type: :runtime
|
45
46
|
prerelease: false
|
46
47
|
version_requirements: !ruby/object:Gem::Requirement
|
47
48
|
requirements:
|
48
|
-
- - "
|
49
|
+
- - ">="
|
49
50
|
- !ruby/object:Gem::Version
|
50
51
|
version: '1.0'
|
51
52
|
- - "<"
|
52
53
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
54
|
+
version: '3.0'
|
54
55
|
- !ruby/object:Gem::Dependency
|
55
56
|
name: multi_json
|
56
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,35 +100,223 @@ dependencies:
|
|
99
100
|
- - "<"
|
100
101
|
- !ruby/object:Gem::Version
|
101
102
|
version: '3'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: addressable
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '2.3'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '2.3'
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: backports
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '3.11'
|
124
|
+
type: :development
|
125
|
+
prerelease: false
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '3.11'
|
102
131
|
- !ruby/object:Gem::Dependency
|
103
132
|
name: bundler
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - ">="
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '1.16'
|
138
|
+
type: :development
|
139
|
+
prerelease: false
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '1.16'
|
145
|
+
- !ruby/object:Gem::Dependency
|
146
|
+
name: coveralls
|
104
147
|
requirement: !ruby/object:Gem::Requirement
|
105
148
|
requirements:
|
106
149
|
- - "~>"
|
107
150
|
- !ruby/object:Gem::Version
|
108
|
-
version: '
|
151
|
+
version: '0.8'
|
109
152
|
type: :development
|
110
153
|
prerelease: false
|
111
154
|
version_requirements: !ruby/object:Gem::Requirement
|
112
155
|
requirements:
|
113
156
|
- - "~>"
|
114
157
|
- !ruby/object:Gem::Version
|
115
|
-
version: '
|
158
|
+
version: '0.8'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: rake
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - "~>"
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: '12.3'
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '12.3'
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: rdoc
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '5.0'
|
180
|
+
- - "<"
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '7'
|
183
|
+
type: :development
|
184
|
+
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - ">="
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '5.0'
|
190
|
+
- - "<"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '7'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: rspec
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - "~>"
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '3.0'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - "~>"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '3.0'
|
207
|
+
- !ruby/object:Gem::Dependency
|
208
|
+
name: rspec-stubbed_env
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
210
|
+
requirements:
|
211
|
+
- - ">="
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: '0'
|
214
|
+
type: :development
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - ">="
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0'
|
221
|
+
- !ruby/object:Gem::Dependency
|
222
|
+
name: rspec-pending_for
|
223
|
+
requirement: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - ">="
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '0'
|
228
|
+
type: :development
|
229
|
+
prerelease: false
|
230
|
+
version_requirements: !ruby/object:Gem::Requirement
|
231
|
+
requirements:
|
232
|
+
- - ">="
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '0'
|
235
|
+
- !ruby/object:Gem::Dependency
|
236
|
+
name: rspec-block_is_expected
|
237
|
+
requirement: !ruby/object:Gem::Requirement
|
238
|
+
requirements:
|
239
|
+
- - ">="
|
240
|
+
- !ruby/object:Gem::Version
|
241
|
+
version: '0'
|
242
|
+
type: :development
|
243
|
+
prerelease: false
|
244
|
+
version_requirements: !ruby/object:Gem::Requirement
|
245
|
+
requirements:
|
246
|
+
- - ">="
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '0'
|
249
|
+
- !ruby/object:Gem::Dependency
|
250
|
+
name: silent_stream
|
251
|
+
requirement: !ruby/object:Gem::Requirement
|
252
|
+
requirements:
|
253
|
+
- - ">="
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0'
|
256
|
+
type: :development
|
257
|
+
prerelease: false
|
258
|
+
version_requirements: !ruby/object:Gem::Requirement
|
259
|
+
requirements:
|
260
|
+
- - ">="
|
261
|
+
- !ruby/object:Gem::Version
|
262
|
+
version: '0'
|
263
|
+
- !ruby/object:Gem::Dependency
|
264
|
+
name: wwtd
|
265
|
+
requirement: !ruby/object:Gem::Requirement
|
266
|
+
requirements:
|
267
|
+
- - ">="
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
version: '0'
|
270
|
+
type: :development
|
271
|
+
prerelease: false
|
272
|
+
version_requirements: !ruby/object:Gem::Requirement
|
273
|
+
requirements:
|
274
|
+
- - ">="
|
275
|
+
- !ruby/object:Gem::Version
|
276
|
+
version: '0'
|
116
277
|
description: A Ruby wrapper for the OAuth 2.0 protocol built with a similar style
|
117
278
|
to the original OAuth spec.
|
118
279
|
email:
|
119
|
-
-
|
120
|
-
- sferik@gmail.com
|
280
|
+
- peter.boling@gmail.com
|
121
281
|
executables: []
|
122
282
|
extensions: []
|
123
283
|
extra_rdoc_files: []
|
124
284
|
files:
|
125
285
|
- ".document"
|
286
|
+
- ".gitignore"
|
287
|
+
- ".jrubyrc"
|
288
|
+
- ".rspec"
|
289
|
+
- ".rubocop.yml"
|
290
|
+
- ".rubocop_rspec.yml"
|
291
|
+
- ".rubocop_todo.yml"
|
292
|
+
- ".ruby-version"
|
293
|
+
- ".travis.yml"
|
294
|
+
- CHANGELOG.md
|
295
|
+
- CODE_OF_CONDUCT.md
|
126
296
|
- CONTRIBUTING.md
|
127
|
-
-
|
297
|
+
- Gemfile
|
298
|
+
- LICENSE
|
128
299
|
- README.md
|
300
|
+
- Rakefile
|
301
|
+
- gemfiles/jruby_1.7.gemfile
|
302
|
+
- gemfiles/jruby_9.0.gemfile
|
303
|
+
- gemfiles/jruby_9.1.gemfile
|
304
|
+
- gemfiles/jruby_9.2.gemfile
|
305
|
+
- gemfiles/jruby_head.gemfile
|
306
|
+
- gemfiles/ruby_1.9.gemfile
|
307
|
+
- gemfiles/ruby_2.0.gemfile
|
308
|
+
- gemfiles/ruby_2.1.gemfile
|
309
|
+
- gemfiles/ruby_2.2.gemfile
|
310
|
+
- gemfiles/ruby_2.3.gemfile
|
311
|
+
- gemfiles/ruby_2.4.gemfile
|
312
|
+
- gemfiles/ruby_2.5.gemfile
|
313
|
+
- gemfiles/ruby_2.6.gemfile
|
314
|
+
- gemfiles/ruby_2.7.gemfile
|
315
|
+
- gemfiles/ruby_head.gemfile
|
316
|
+
- gemfiles/truffleruby.gemfile
|
129
317
|
- lib/oauth2.rb
|
130
318
|
- lib/oauth2/access_token.rb
|
319
|
+
- lib/oauth2/authenticator.rb
|
131
320
|
- lib/oauth2/client.rb
|
132
321
|
- lib/oauth2/error.rb
|
133
322
|
- lib/oauth2/mac_token.rb
|
@@ -140,10 +329,15 @@ files:
|
|
140
329
|
- lib/oauth2/strategy/password.rb
|
141
330
|
- lib/oauth2/version.rb
|
142
331
|
- oauth2.gemspec
|
143
|
-
homepage:
|
332
|
+
homepage: https://github.com/oauth-xx/oauth2
|
144
333
|
licenses:
|
145
334
|
- MIT
|
146
|
-
metadata:
|
335
|
+
metadata:
|
336
|
+
bug_tracker_uri: https://github.com/oauth-xx/oauth2/issues
|
337
|
+
changelog_uri: https://github.com/oauth-xx/oauth2/blob/v1.4.3/CHANGELOG.md
|
338
|
+
documentation_uri: https://www.rubydoc.info/gems/oauth2/1.4.3
|
339
|
+
source_code_uri: https://github.com/oauth-xx/oauth2/tree/v1.4.3
|
340
|
+
wiki_uri: https://github.com/oauth-xx/oauth2/wiki
|
147
341
|
post_install_message:
|
148
342
|
rdoc_options: []
|
149
343
|
require_paths:
|
@@ -152,17 +346,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
152
346
|
requirements:
|
153
347
|
- - ">="
|
154
348
|
- !ruby/object:Gem::Version
|
155
|
-
version:
|
349
|
+
version: 1.9.0
|
156
350
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
351
|
requirements:
|
158
352
|
- - ">="
|
159
353
|
- !ruby/object:Gem::Version
|
160
354
|
version: 1.3.5
|
161
355
|
requirements: []
|
162
|
-
|
163
|
-
rubygems_version: 2.2.5
|
356
|
+
rubygems_version: 3.1.2
|
164
357
|
signing_key:
|
165
358
|
specification_version: 4
|
166
359
|
summary: A Ruby wrapper for the OAuth 2.0 protocol.
|
167
360
|
test_files: []
|
168
|
-
has_rdoc:
|
data/LICENSE.md
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright (c) 2011-2013 Michael Bleigh and Intridea, Inc.
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|