rack-oauth2 1.16.0 → 1.17.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 656ec18e337c0382c0bc710623e267cfb073c629ba16541451754b72c22c7e43
4
- data.tar.gz: 962b029b37278c0dfb59bdb402b8e5b2f0727f081763738afb5bceea2980b5c3
3
+ metadata.gz: 5ea33651fcefd142210b8b6c275eb6a3c6096274796ef3070a5fa87da18433a6
4
+ data.tar.gz: 284e253fbefbe51cc1d645ec348584160c6f4363251f908ea536d1796b3444e5
5
5
  SHA512:
6
- metadata.gz: 2911133e3fcf04274a883cd56808b3c44cd42a8db963fe94f008139d74dcfc727e45304a5bd2dc071d111cf86b95fd5ea1b86d57f72ecbd15bbdb28655a1a000
7
- data.tar.gz: 5007ba0f4de30144cf0aa3ac924e5ea8e30246f6ad2d70050992c8ac81a487ae5ce36df507f4aa00be5e1ef8a89685bf0dc965e6bb6e79c3f4baef903d70f45d
6
+ metadata.gz: ae2c8ced737f24a116a0b484d745477e8e4b03732e5a7147428e4d63fee61518ca43a705020817b09311ac030267e1b55ab072f421b26a90292482945c9b3bd3
7
+ data.tar.gz: 2e70af95a0040f956e3de8d918d50c3322107f68cb7a5af25a9987cac914c40d6453202e97e42395bf1707e78b65987f0b059b9c77bf3421070ee6f51a2dddd3
data/.travis.yml CHANGED
@@ -4,4 +4,5 @@ before_install:
4
4
  rvm:
5
5
  - 2.5.8
6
6
  - 2.6.6
7
- - 2.7.1
7
+ - 2.7.2
8
+ - 3.0.0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.16.0
1
+ 1.17.0
@@ -90,6 +90,11 @@ module Rack
90
90
  headers.merge!(
91
91
  'Authorization' => "Basic #{cred}"
92
92
  )
93
+ when :basic_without_www_form_urlencode
94
+ cred = ["#{identifier}:#{secret}"].pack('m').tr("\n", '')
95
+ headers.merge!(
96
+ 'Authorization' => "Basic #{cred}"
97
+ )
93
98
  when :jwt_bearer
94
99
  params.merge!(
95
100
  client_assertion_type: URN::ClientAssertionType::JWT_BEARER
@@ -4,10 +4,6 @@ module Rack
4
4
  module OAuth2
5
5
  module Util
6
6
  class << self
7
- def rfc3986_encode(text)
8
- URI.encode(text, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
9
- end
10
-
11
7
  def www_form_url_encode(text)
12
8
  URI.encode_www_form_component(text)
13
9
  end
@@ -117,6 +117,24 @@ describe Rack::OAuth2::Client do
117
117
  end
118
118
  end
119
119
 
120
+ context 'when basic_without_www_form_urlencode method is used' do
121
+ context 'when client_id is a url' do
122
+ let(:client_id) { 'https://client.example.com'}
123
+
124
+ it 'should be encoded in "application/x-www-form-urlencoded"' do
125
+ mock_response(
126
+ :post,
127
+ 'https://server.example.com/oauth2/token',
128
+ 'tokens/bearer.json',
129
+ request_header: {
130
+ 'Authorization' => 'Basic aHR0cHM6Ly9jbGllbnQuZXhhbXBsZS5jb206Y2xpZW50X3NlY3JldA=='
131
+ }
132
+ )
133
+ client.access_token! :basic_without_www_form_urlencode
134
+ end
135
+ end
136
+ end
137
+
120
138
  context 'when jwt_bearer auth method specified' do
121
139
  context 'when client_secret is given' do
122
140
  it 'should be JWT bearer client assertion w/ auto-generated HS256-signed JWT assertion' do
@@ -9,11 +9,6 @@ describe Rack::OAuth2::Util do
9
9
  'http://client.example.com/callback'
10
10
  end
11
11
 
12
- describe '.rfc3986_encode' do
13
- subject { util.rfc3986_encode '=+ .-/' }
14
- it { should == '%3D%2B%20.-%2F' }
15
- end
16
-
17
12
  describe '.www_form_url_encode' do
18
13
  subject { util.www_form_url_encode '=+ .-/' }
19
14
  it { should == '%3D%2B+.-%2F' }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-oauth2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.16.0
4
+ version: 1.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov matake
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-17 00:00:00.000000000 Z
11
+ date: 2021-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack