capcoauth 0.5.0 → 0.6.3

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: 034c46acdc3cd67430792c484dccaffa490190b0
4
- data.tar.gz: 9334e9e08a061613dd2d5a93efae5cb7f13d832f
2
+ SHA256:
3
+ metadata.gz: b90a20b86a9c6be726eaead5e05718e42010926d2c669d5b5d5bed4c5be71c09
4
+ data.tar.gz: fbd13ea0046b2f11303a23a6011160686a11811273d98fc94cf20ba4ac1c237d
5
5
  SHA512:
6
- metadata.gz: 24802981fe766eaf8c08f99fa141f2228b005eb47491706ba40eadbbd1bad81ee2ff0d9de22e86a934893aab2ef7be2207dad21c7576b215ab85cafc273efa6a
7
- data.tar.gz: e0ab260d5a042d7c6e90e489a33411d3b2c090182eb3b2b60341d525dcc1ac0c1e0c523cd3bee634f4e3573b45a624a8d4ee73de70c9649cfb7eb1fbb9b58920
6
+ metadata.gz: 8f3d938fb7d9111e1d2b7e1950776fd15bef9c0b81c7186d570cd6835c6218a53db09bba6ec7f3222dde100844846da9ca623f813a71bd453e775d392158a695
7
+ data.tar.gz: b602d5bf798bf5b925432a46b58eb8a63953c656454972bb1fa8e4b315b4edcf4876b972cfc73932f6ea99ae27784f0faf4b880fa08631ac5d86915c76fb5806
data/.travis.yml CHANGED
@@ -3,9 +3,11 @@ language: ruby
3
3
  sudo: false
4
4
 
5
5
  rvm:
6
- - 2.2.7
7
- - 2.3.4
8
- - 2.4.1
6
+ - 2.3.8
7
+ - 2.4.9
8
+ - 2.5.7
9
+ - 2.6.5
10
+ - 2.7.0
9
11
 
10
12
  before_install:
11
- - gem install bundler -v '~> 1.10'
13
+ - gem install bundler -v '~> 2.0.2'
data/Gemfile CHANGED
@@ -1,10 +1,11 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rails', '~> 4.2.0'
3
+ gem 'rails', '~> 5.2.6'
4
4
 
5
5
  gem 'simplecov', require: false, group: :test
6
6
 
7
7
  gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby
8
8
  gem 'sqlite3', platform: [:ruby, :mswin, :mingw, :x64_mingw]
9
9
  gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw]
10
+
10
11
  gemspec
@@ -20,7 +20,12 @@ module Capcoauth
20
20
  end
21
21
 
22
22
  # Otherwise, redirect
23
- redirect_to "#{Capcoauth.configuration.capcoauth_url}/oauth/authorize?client_id=#{Capcoauth.configuration.client_id}&redirect_uri=#{URI.encode(oauth_callback_url)}&response_type=code"
23
+ params = {
24
+ client_id: Capcoauth.configuration.client_id,
25
+ redirect_uri: oauth_callback_url,
26
+ response_type: 'code',
27
+ }
28
+ redirect_to "#{Capcoauth.configuration.capcoauth_url}/oauth/authorize?#{params.to_param}"
24
29
  end
25
30
  end
26
31
  end
data/capcoauth.gemspec CHANGED
@@ -18,15 +18,13 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.required_ruby_version = '>= 2.1'
20
20
 
21
- s.add_dependency 'railties', ['>= 4.2', '< 6.0']
21
+ s.add_dependency 'railties', ['>= 4.2', '< 7.0']
22
22
  s.add_dependency 'activesupport', '>= 3.0'
23
- s.add_dependency 'httparty', '~> 0.14'
23
+ s.add_dependency 'httparty', '~> 0.17.3'
24
24
 
25
- s.add_development_dependency 'capybara'
26
- s.add_development_dependency 'database_cleaner', '~> 1.5.3'
27
- s.add_development_dependency 'factory_girl', '~> 4.7.0'
28
- s.add_development_dependency 'generator_spec', '~> 0.9.3'
29
- s.add_development_dependency 'rake', '>= 11.3.0'
25
+ s.add_development_dependency 'database_cleaner', '~> 1.7.0'
26
+ s.add_development_dependency 'generator_spec', '~> 0.9.4'
27
+ s.add_development_dependency 'rake', '>= 13.0.1'
30
28
  s.add_development_dependency 'rspec-rails'
31
- s.add_development_dependency 'timecop', '~> 0.8.1'
29
+ s.add_development_dependency 'timecop', '~> 0.9.1'
32
30
  end
@@ -20,7 +20,7 @@ module Capcoauth
20
20
 
21
21
  class Config
22
22
  CAPCOAUTH_URL_DEFAULT = 'https://capcoauth.capco.com'.freeze
23
- TOKEN_VERIFY_TTL_DEFAULT = 10.freeze
23
+ TOKEN_VERIFY_TTL_DEFAULT = 60.freeze
24
24
 
25
25
  class Builder
26
26
  def initialize(&block)
@@ -35,6 +35,7 @@ module Capcoauth
35
35
  @config.user_id_field = :capcoauth
36
36
  @config.cache_store = ::ActiveSupport::Cache::MemoryStore.new
37
37
  @config.require_user = true
38
+ @config.send_notifications = false
38
39
 
39
40
  # Evaluate configuration block
40
41
  @config.instance_eval(&block)
@@ -53,7 +54,8 @@ module Capcoauth
53
54
  :user_id_field,
54
55
  :cache_store,
55
56
  :user_resolver,
56
- :require_user
57
+ :require_user,
58
+ :send_notifications
57
59
 
58
60
  def client_id
59
61
  @client_id || raise(MissingRequiredOptionError, 'Missing required option `client_id`')
@@ -1,7 +1,7 @@
1
1
  module Capcoauth
2
2
  class Engine < Rails::Engine
3
3
  initializer 'capcoauth.params.filter' do |app|
4
- parameters = %w'code access_token'
4
+ parameters = %w(client_secret code authentication_token access_token refresh_token)
5
5
  app.config.filter_parameters << /^(#{Regexp.union parameters})$/
6
6
  end
7
7
 
@@ -33,8 +33,8 @@ module Capcoauth
33
33
 
34
34
  def default_headers
35
35
  {
36
- 'Authorization': "Bearer #{bearer_token}",
37
- 'Content-Type': 'application/vnd.api+json'
36
+ :'Authorization' => "Bearer #{bearer_token}",
37
+ :'Content-Type'=>'application/vnd.api+json'
38
38
  }
39
39
  end
40
40
 
@@ -77,6 +77,8 @@ module Capcoauth
77
77
  end
78
78
 
79
79
  def notify(user_id, alert=nil, badge=nil, data={})
80
+ return false unless Capcoauth.configuration.send_notifications
81
+
80
82
  data = JSON.generate data
81
83
  res = self.post(
82
84
  "#{Capcoauth.configuration.capcoauth_url}/api/v1/user_notifications",
@@ -40,7 +40,7 @@ module Capcoauth
40
40
  raise Capcoauth::AuthorizationError, reason if error == :unauthorized_error
41
41
 
42
42
  # Raise an error if token has an ID but the user wasn't found
43
- if Capcoauth.configuration.require_user and token.user_id.present? and current_user.blank?
43
+ if Capcoauth.configuration.require_user and token.present? and token.user_id.present? and current_user.blank?
44
44
  Capcoauth.configuration.logger.info "[CapcOAuth] Error looking up user: Token returned ID ##{token.user_id} but resolver didn't return user"
45
45
  raise Capcoauth::AuthorizationError, 'Your credentials were valid, but you aren\'t currently active in this system'
46
46
  end
@@ -5,8 +5,8 @@ module Capcoauth
5
5
 
6
6
  module VERSION
7
7
  MAJOR = 0
8
- MINOR = 5
9
- PATCH = 0
8
+ MINOR = 6
9
+ PATCH = 3
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH].compact.join(".")
12
12
  end
@@ -41,4 +41,7 @@ Capcoauth.configure do |config|
41
41
 
42
42
  # Don't redirect to last URL on login since we don't want to see API responses
43
43
  # config.perform_login_redirects = true
44
+
45
+ # Send push notifications (good to make this dependent on your environment)
46
+ # config.send_notifications = true
44
47
  end
@@ -0,0 +1 @@
1
+ // Nothing
@@ -12,5 +12,7 @@ module Dummy
12
12
  # Settings in config/environments/* take precedence over those specified here.
13
13
  # Application configuration should go into files in config/initializers
14
14
  # -- all .rb files in that directory are automatically loaded.
15
+
16
+ config.active_record.sqlite3.represent_boolean_as_integer = true
15
17
  end
16
18
  end
@@ -4,6 +4,4 @@
4
4
  # If you change this key, all old signed cookies will become invalid!
5
5
  # Make sure the secret is at least 30 characters and all random,
6
6
  # no regular words or you'll be exposed to dictionary attacks.
7
- Dummy::Application.config.secret_key_base =
8
- Dummy::Application.config.secret_token =
9
- 'c00157b5a1bb6181792f0f4a8a080485de7bab9987e6cf159dc74c4f0573345c1bfa713b5d756e1491fc0b098567e8a619e2f8d268eda86a20a720d05d633780'
7
+ Dummy::Application.config.secret_key_base = 'c00157b5a1bb6181792f0f4a8a080485de7bab9987e6cf159dc74c4f0573345c1bfa713b5d756e1491fc0b098567e8a619e2f8d268eda86a20a720d05d633780'
@@ -119,11 +119,11 @@ describe Capcoauth::Config do
119
119
 
120
120
  describe 'using_routes' do
121
121
  it 'has value false by default' do
122
- expect(subject.using_routes).to be_falsey
122
+ expect(subject.using_routes).to eq(false)
123
123
  end
124
124
  it 'can be updated to true' do
125
125
  subject.using_routes = true
126
- expect(subject.using_routes).to be_truthy
126
+ expect(subject.using_routes).to eq(true)
127
127
  subject.using_routes = false
128
128
  end
129
129
  it 'is updated to true by Rails.application.routes.draw' do
@@ -132,17 +132,17 @@ describe Capcoauth::Config do
132
132
  Rails.application.routes.draw do
133
133
  use_capcoauth
134
134
  end
135
- expect(subject.using_routes).to be_truthy
135
+ expect(subject.using_routes).to eq(true)
136
136
  end
137
137
  end
138
138
 
139
139
  describe 'perform_login_redirects' do
140
140
  it 'has value true by default' do
141
- expect(subject.perform_login_redirects).to be_truthy
141
+ expect(subject.perform_login_redirects).to eq(true)
142
142
  end
143
143
  it 'can be updated to false' do
144
144
  subject.perform_login_redirects = false
145
- expect(subject.perform_login_redirects).to be_falsey
145
+ expect(subject.perform_login_redirects).to eq(false)
146
146
  subject.perform_login_redirects = true
147
147
  end
148
148
  end
@@ -204,12 +204,24 @@ describe Capcoauth::Config do
204
204
 
205
205
  describe 'require_user' do
206
206
  it 'has value true by default' do
207
- expect(subject.require_user).to be_truthy
207
+ expect(subject.require_user).to eq(true)
208
208
  end
209
209
  it 'can be updated to false' do
210
210
  subject.require_user = false
211
- expect(subject.require_user).to be_falsey
211
+ expect(subject.require_user).to eq(false)
212
212
  subject.require_user = true
213
213
  end
214
214
  end
215
+
216
+ describe 'send_notifications' do
217
+ it 'has value false by default' do
218
+ expect(subject.send_notifications).to eq(false)
219
+ end
220
+ it 'can be updated to false' do
221
+ subject.send_notifications = false
222
+ expect(subject.send_notifications).to eq(false)
223
+ subject.send_notifications = true
224
+ expect(subject.send_notifications).to eq(true)
225
+ end
226
+ end
215
227
  end
@@ -7,7 +7,6 @@ TABLE_NAME_SUFFIX = ENV['table_name_suffix'] || nil
7
7
 
8
8
  $LOAD_PATH.unshift File.dirname(__FILE__)
9
9
 
10
- require 'capybara/rspec'
11
10
  require 'dummy/config/environment'
12
11
  require 'rspec/rails'
13
12
  require 'generator_spec/test_case'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capcoauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Robertson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-18 00:00:00.000000000 Z
11
+ date: 2021-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.0'
22
+ version: '7.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.0'
32
+ version: '7.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -50,84 +50,56 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.14'
53
+ version: 0.17.3
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '0.14'
61
- - !ruby/object:Gem::Dependency
62
- name: capybara
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
60
+ version: 0.17.3
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: database_cleaner
77
63
  requirement: !ruby/object:Gem::Requirement
78
64
  requirements:
79
65
  - - "~>"
80
66
  - !ruby/object:Gem::Version
81
- version: 1.5.3
82
- type: :development
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: 1.5.3
89
- - !ruby/object:Gem::Dependency
90
- name: factory_girl
91
- requirement: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 4.7.0
67
+ version: 1.7.0
96
68
  type: :development
97
69
  prerelease: false
98
70
  version_requirements: !ruby/object:Gem::Requirement
99
71
  requirements:
100
72
  - - "~>"
101
73
  - !ruby/object:Gem::Version
102
- version: 4.7.0
74
+ version: 1.7.0
103
75
  - !ruby/object:Gem::Dependency
104
76
  name: generator_spec
105
77
  requirement: !ruby/object:Gem::Requirement
106
78
  requirements:
107
79
  - - "~>"
108
80
  - !ruby/object:Gem::Version
109
- version: 0.9.3
81
+ version: 0.9.4
110
82
  type: :development
111
83
  prerelease: false
112
84
  version_requirements: !ruby/object:Gem::Requirement
113
85
  requirements:
114
86
  - - "~>"
115
87
  - !ruby/object:Gem::Version
116
- version: 0.9.3
88
+ version: 0.9.4
117
89
  - !ruby/object:Gem::Dependency
118
90
  name: rake
119
91
  requirement: !ruby/object:Gem::Requirement
120
92
  requirements:
121
93
  - - ">="
122
94
  - !ruby/object:Gem::Version
123
- version: 11.3.0
95
+ version: 13.0.1
124
96
  type: :development
125
97
  prerelease: false
126
98
  version_requirements: !ruby/object:Gem::Requirement
127
99
  requirements:
128
100
  - - ">="
129
101
  - !ruby/object:Gem::Version
130
- version: 11.3.0
102
+ version: 13.0.1
131
103
  - !ruby/object:Gem::Dependency
132
104
  name: rspec-rails
133
105
  requirement: !ruby/object:Gem::Requirement
@@ -148,14 +120,14 @@ dependencies:
148
120
  requirements:
149
121
  - - "~>"
150
122
  - !ruby/object:Gem::Version
151
- version: 0.8.1
123
+ version: 0.9.1
152
124
  type: :development
153
125
  prerelease: false
154
126
  version_requirements: !ruby/object:Gem::Requirement
155
127
  requirements:
156
128
  - - "~>"
157
129
  - !ruby/object:Gem::Version
158
- version: 0.8.1
130
+ version: 0.9.1
159
131
  description: capcoauth-gem is a library to integrate Rails applications with Capcoauth
160
132
  authentication service
161
133
  email:
@@ -168,7 +140,6 @@ files:
168
140
  - ".rspec"
169
141
  - ".travis.yml"
170
142
  - Gemfile
171
- - Gemfile.lock
172
143
  - LICENSE
173
144
  - README.md
174
145
  - Rakefile
@@ -194,6 +165,7 @@ files:
194
165
  - lib/generators/capcoauth/templates/README
195
166
  - lib/generators/capcoauth/templates/initializer.rb
196
167
  - spec/dummy/Rakefile
168
+ - spec/dummy/app/assets/config/manifest.js
197
169
  - spec/dummy/app/controllers/application_controller.rb
198
170
  - spec/dummy/app/controllers/full_protected_resources_controller.rb
199
171
  - spec/dummy/app/controllers/home_controller.rb
@@ -240,7 +212,7 @@ homepage: https://github.com/arcreative/capcoauth-gem
240
212
  licenses:
241
213
  - MIT
242
214
  metadata: {}
243
- post_install_message:
215
+ post_install_message:
244
216
  rdoc_options: []
245
217
  require_paths:
246
218
  - lib
@@ -255,13 +227,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
227
  - !ruby/object:Gem::Version
256
228
  version: '0'
257
229
  requirements: []
258
- rubyforge_project:
259
- rubygems_version: 2.6.7
260
- signing_key:
230
+ rubygems_version: 3.1.6
231
+ signing_key:
261
232
  specification_version: 4
262
233
  summary: Integration with Capcoauth authentication service
263
234
  test_files:
264
235
  - spec/dummy/Rakefile
236
+ - spec/dummy/app/assets/config/manifest.js
265
237
  - spec/dummy/app/controllers/application_controller.rb
266
238
  - spec/dummy/app/controllers/full_protected_resources_controller.rb
267
239
  - spec/dummy/app/controllers/home_controller.rb