access_token_agent 3.4.0 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
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="