capcoauth 0.5.0 → 0.6.3

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: 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