access_token_agent 3.4.0 → 3.5.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
- SHA1:
3
- metadata.gz: 0fd60d58c6d3a25047e8dc8658c0e020aead8ae7
4
- data.tar.gz: 91938386479d3131acf3f0276e2999847aed42a4
2
+ SHA256:
3
+ metadata.gz: 9ce5b9bb39e762a8602e908ed0fd3f90a5a90a1ab5692b37512fd51fca5ffcbc
4
+ data.tar.gz: eb3bec64d9424a5197fc19e93ae26dd0d59f29a33fe3f1141dbffeed5e28ac9d
5
5
  SHA512:
6
- metadata.gz: b4847fe284c32ae55edcfbee16843b9aac31862418f9ebdc98a565c75a83628a7690651272489eaa9bca2b38759e8ea005d05230c4b380491b101e8fd001bce0
7
- data.tar.gz: ca7f0a9d57f69a6b097f4a531743f54c957533671701c7f33cea1cf744e83ddf026d0bc85709be7e3c10f430bf760f23d64c4659cdf783b801f09047a8990d09
6
+ metadata.gz: e6d2d273fb9013401936d16db02677ca8f84e843fe1634d79a2e03edab29eac96ee395d73275640177d610974bf652c1fe44303484d6150c22596db914118ee5
7
+ data.tar.gz: 1395a40b82a22e93cd3ff04b7b61fb56d5c76a281dc567f5713a5e3cdbec6558d545c506668f51ee7a374b277576b6bd8b931b0ecf64c6b470d5381f82250304
data/.gitignore CHANGED
@@ -2,5 +2,6 @@ Gemfile.lock
2
2
  coverage/
3
3
  tmp/
4
4
 
5
+ .ruby-version
5
6
  .ruby-gemset
6
7
  access_token_agent-*.gem
@@ -0,0 +1,54 @@
1
+ image: ruby:2.7
2
+
3
+ stages:
4
+ - test
5
+ - publish
6
+
7
+ before_script:
8
+ - bundle config jobs 8
9
+ - bundle install --path=/tmp/bundler --quiet
10
+
11
+ rubocop:
12
+ stage: test
13
+ image: ruby:2.2
14
+ script:
15
+ - bundle exec rubocop
16
+
17
+ rspec_latest:
18
+ stage: test
19
+ image: ruby
20
+ script:
21
+ - bundle exec rspec
22
+
23
+ rspec_2.6:
24
+ stage: test
25
+ image: ruby:2.6
26
+ script:
27
+ - bundle exec rspec
28
+
29
+ rspec_2.5:
30
+ stage: test
31
+ image: ruby:2.5
32
+ script:
33
+ - bundle exec rspec
34
+
35
+ rspec_2.2:
36
+ stage: test
37
+ image: ruby:2.2
38
+ script:
39
+ - bundle exec rspec
40
+
41
+ publish_gem:
42
+ stage: publish
43
+ script:
44
+ - mkdir -p ~/.gem
45
+ - |
46
+ cat << EOF > ~/.gem/credentials
47
+ ---
48
+ :rubygems_api_key: ${RUBYGEMS_API_KEY}
49
+ EOF
50
+ - chmod 0600 ~/.gem/credentials
51
+ - gem build access_token_agent.gemspec
52
+ - gem push $(find `pwd` -name "access_token_agent-*.gem")
53
+ only:
54
+ - master
@@ -20,6 +20,16 @@ Metrics/BlockLength:
20
20
  - 'config/environments/*.rb' # instead of excluding all :configure methods
21
21
  - 'config/routes.rb'
22
22
 
23
+ # The maximum amount of positional arguments in a method really shouldn't exceed
24
+ # the rubocop default of 5.
25
+ # However, keyword arguments do not make a method signature as unreadable as positional
26
+ # arguments. There are valid cases for longer argument lists (e.g. data objects or
27
+ # DSLs with implicit default values).
28
+ # In those cases keyword args provide a good balance between readability and the need to
29
+ # pass more arguments into an object.
30
+ Metrics/ParameterLists:
31
+ CountKeywordArgs: false
32
+
23
33
  Style/Documentation:
24
34
  Enabled: false
25
35
 
@@ -1,6 +1,7 @@
1
- ## master
1
+ ## 3.5.0
2
2
 
3
- *no unreleased changes*
3
+ - Support requesting scopes
4
+ - Add requirement for Ruby 2.2 to gemspec (this was an implicit requirement before)
4
5
 
5
6
  ## 3.4.0
6
7
 
data/README.md CHANGED
@@ -1,7 +1,4 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/access_token_agent.svg)](https://badge.fury.io/rb/access_token_agent)
2
- [![Build Status](https://travis-ci.org/kaeuferportal/access_token_agent.svg?branch=master)](https://travis-ci.org/kaeuferportal/access_token_agent)
3
- [![Code Climate](https://codeclimate.com/github/kaeuferportal/access_token_agent/badges/gpa.svg)](https://codeclimate.com/github/kaeuferportal/access_token_agent)
4
- [![Test Coverage](https://codeclimate.com/github/kaeuferportal/access_token_agent/badges/coverage.svg)](https://codeclimate.com/github/kaeuferportal/access_token_agent/coverage)
5
2
 
6
3
  # AccessTokenAgent
7
4
 
@@ -40,6 +37,8 @@ Optional parameters:
40
37
  * `access_token_path` - Allows to customize the HTTP path where the
41
38
  access token needs to be requested.
42
39
  **Default:** `/oauth/token`
40
+ * `scopes` - An array of scopes to be requested from the authorization server
41
+ **Default:** no scopes
43
42
 
44
43
  ### Example
45
44
 
@@ -5,23 +5,24 @@ require 'access_token_agent/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'access_token_agent'
7
7
  s.version = AccessTokenAgent::VERSION
8
- s.date = '2016-04-08'
8
+ s.date = '2020-10-02'
9
9
  s.summary = 'Handles authentication against an OAuth2 provider'
10
- s.homepage = 'https://github.com/kaeuferportal/access_token_agent'
11
- s.description = 'Retrieves an access token from an OAuth2 provider' \
10
+ s.homepage = 'https://github.com/aroundhome/access_token_agent'
11
+ s.description = 'Retrieves an access token from an OAuth2 provider ' \
12
12
  'using the supplied credentials.'
13
- s.authors = ['Beko Käuferportal GmbH']
14
- s.email = 'oss@kaeuferportal.de'
13
+ s.authors = ['be Around GmbH']
14
+ s.email = 'oss@aroundhome.de'
15
15
  s.license = 'MIT'
16
16
  s.files = `git ls-files -z`.split("\x0")
17
17
  .reject { |f| f.match(%r{^spec/}) }
18
18
 
19
- s.add_development_dependency 'bundler', '~> 1.11'
20
- s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
19
+ s.required_ruby_version = '>= 2.2'
20
+
21
+ s.add_development_dependency 'bundler', '> 1.11', '< 3'
21
22
  s.add_development_dependency 'pry', '~> 0.10'
22
23
  s.add_development_dependency 'rspec', '~> 3.4'
23
24
  s.add_development_dependency 'rubocop', '0.51'
24
25
  s.add_development_dependency 'simplecov', '~> 0.16'
25
- s.add_development_dependency 'vcr', '~> 3.0'
26
- s.add_development_dependency 'webmock', '~> 1.24'
26
+ s.add_development_dependency 'vcr', '~> 5.0'
27
+ s.add_development_dependency 'webmock', '~> 3.0'
27
28
  end
@@ -12,12 +12,14 @@ module AccessTokenAgent
12
12
  client_id:,
13
13
  client_secret:,
14
14
  fake_auth: false,
15
- access_token_path: '/oauth/token')
15
+ access_token_path: '/oauth/token',
16
+ scopes: nil)
16
17
  @host = host
17
18
  @client_id = client_id
18
19
  @client_secret = client_secret
19
20
  @fake_auth = fake_auth
20
21
  @access_token_path = access_token_path
22
+ @scopes = scopes
21
23
  end
22
24
 
23
25
  def http_auth_header
@@ -58,7 +60,7 @@ module AccessTokenAgent
58
60
  def perform_request
59
61
  request = Net::HTTP::Post.new(auth_uri)
60
62
  request.basic_auth @client_id, @client_secret
61
- request.form_data = { 'grant_type' => 'client_credentials' }
63
+ request.form_data = form_data
62
64
  use_tls = auth_uri.scheme == 'https'
63
65
  Net::HTTP.start(auth_uri.hostname,
64
66
  auth_uri.port,
@@ -70,5 +72,11 @@ module AccessTokenAgent
70
72
  def auth_uri
71
73
  @auth_uri ||= URI("#{@host}#{@access_token_path}")
72
74
  end
75
+
76
+ def form_data
77
+ result = { 'grant_type' => 'client_credentials' }
78
+ result['scope'] = @scopes.join(' ') if @scopes
79
+ result
80
+ end
73
81
  end
74
82
  end
@@ -1,3 +1,3 @@
1
1
  module AccessTokenAgent
2
- VERSION = '3.4.0'.freeze
2
+ VERSION = '3.5.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,43 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: access_token_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
- - Beko Käuferportal GmbH
7
+ - be Around GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-08 00:00:00.000000000 Z
11
+ date: 2020-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.11'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">"
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.11'
27
- - !ruby/object:Gem::Dependency
28
- name: codeclimate-test-reporter
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '1.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
30
+ - - "<"
39
31
  - !ruby/object:Gem::Version
40
- version: '1.0'
32
+ version: '3'
41
33
  - !ruby/object:Gem::Dependency
42
34
  name: pry
43
35
  requirement: !ruby/object:Gem::Requirement
@@ -100,39 +92,39 @@ dependencies:
100
92
  requirements:
101
93
  - - "~>"
102
94
  - !ruby/object:Gem::Version
103
- version: '3.0'
95
+ version: '5.0'
104
96
  type: :development
105
97
  prerelease: false
106
98
  version_requirements: !ruby/object:Gem::Requirement
107
99
  requirements:
108
100
  - - "~>"
109
101
  - !ruby/object:Gem::Version
110
- version: '3.0'
102
+ version: '5.0'
111
103
  - !ruby/object:Gem::Dependency
112
104
  name: webmock
113
105
  requirement: !ruby/object:Gem::Requirement
114
106
  requirements:
115
107
  - - "~>"
116
108
  - !ruby/object:Gem::Version
117
- version: '1.24'
109
+ version: '3.0'
118
110
  type: :development
119
111
  prerelease: false
120
112
  version_requirements: !ruby/object:Gem::Requirement
121
113
  requirements:
122
114
  - - "~>"
123
115
  - !ruby/object:Gem::Version
124
- version: '1.24'
125
- description: Retrieves an access token from an OAuth2 providerusing the supplied credentials.
126
- email: oss@kaeuferportal.de
116
+ version: '3.0'
117
+ description: Retrieves an access token from an OAuth2 provider using the supplied
118
+ credentials.
119
+ email: oss@aroundhome.de
127
120
  executables: []
128
121
  extensions: []
129
122
  extra_rdoc_files: []
130
123
  files:
131
124
  - ".gitignore"
125
+ - ".gitlab-ci.yml"
132
126
  - ".rspec"
133
127
  - ".rubocop.yml"
134
- - ".ruby-version"
135
- - ".travis.yml"
136
128
  - CHANGELOG.md
137
129
  - Gemfile
138
130
  - LICENSE.md
@@ -149,7 +141,7 @@ files:
149
141
  - lib/access_token_agent/unauthorized_error.rb
150
142
  - lib/access_token_agent/unsupported_token_type_error.rb
151
143
  - lib/access_token_agent/version.rb
152
- homepage: https://github.com/kaeuferportal/access_token_agent
144
+ homepage: https://github.com/aroundhome/access_token_agent
153
145
  licenses:
154
146
  - MIT
155
147
  metadata: {}
@@ -161,15 +153,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
161
153
  requirements:
162
154
  - - ">="
163
155
  - !ruby/object:Gem::Version
164
- version: '0'
156
+ version: '2.2'
165
157
  required_rubygems_version: !ruby/object:Gem::Requirement
166
158
  requirements:
167
159
  - - ">="
168
160
  - !ruby/object:Gem::Version
169
161
  version: '0'
170
162
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.2.5
163
+ rubygems_version: 3.1.4
173
164
  signing_key:
174
165
  specification_version: 4
175
166
  summary: Handles authentication against an OAuth2 provider
@@ -1 +0,0 @@
1
- 2.1.10
@@ -1,9 +0,0 @@
1
- language: ruby
2
- script:
3
- - bundle exec rspec && codeclimate-test-reporter
4
- - bundle exec rubocop
5
-
6
- addons:
7
- code_climate:
8
- repo_token:
9
- secure: "tsEpSMfYQHfnm5l9zkdksmTcdV/hjq28HsKh7+tXefWbNbMksrzWlonuZsoQSeLx8OdG5dcGREY3JVbWUl8CxILZ/j8rse0CBpW1S/sy7sz7KQEaBgTq+BxJiFyjPibul91X7TcMHVLpo2c2bIM353HJW4Sf0gT5rhbykek2YHXsvHXlDv4dkE/PL0yZylgDi8zC6dXl9IrjsqgPcTwtCAOM2o1+NhNBiyBWJqQyfhv2N72dml3mk8rQ9WszyRhHmIUhHehdgYcbOrydlEclOHwuszIQd0z2wpJ9HMlvQFtmH/muW4XTf/VNu3XaZr1OYwzBZBeC9Ngfoqn/7Bs0p815NrRcKc9oq+hIyjyd6Mj7Asqcs1+JxakzcVdW6Enf3ZL7F7fsmmB4mQkATEcpBv8G4aN3lFkBmIZdx16oyMQWrLPPzsFXgSdARdUczdtgfnAFT3IB311CnT6zxPCL8FBI/KiHK9FXc6FBGv030doIhr3pDUjMkx35VYN5cvixf+oHMYg4/XuoO+HGwdViA/P8gAUGs5bQL5kY6jcYSTsa8KlzKfgUcK1buWblHfTSEKdMOnKRSBvfS9S3VcPt5ZpZ62Cfbqfjn4lPa5UxcOyb3abk3s2ikKbftGUQk8k4qlhednki3yV71xKhpQsiO/ufNCnp6jXAV2p/KoM2QjA="