workarea-basic_auth 1.1.1

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.
Files changed (77) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +20 -0
  3. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  4. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  5. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  6. data/.gitignore +25 -0
  7. data/CHANGELOG.md +371 -0
  8. data/CODE_OF_CONDUCT.md +3 -0
  9. data/CONTRIBUTING.md +3 -0
  10. data/Gemfile +5 -0
  11. data/LICENSE +52 -0
  12. data/README.md +105 -0
  13. data/Rakefile +60 -0
  14. data/bin/rails +20 -0
  15. data/config/initializers/access_control.rb +23 -0
  16. data/lib/tasks/basic_auth_tasks.rake +4 -0
  17. data/lib/workarea/basic_auth.rb +23 -0
  18. data/lib/workarea/basic_auth/engine.rb +8 -0
  19. data/lib/workarea/basic_auth/middleware.rb +82 -0
  20. data/lib/workarea/basic_auth/path.rb +37 -0
  21. data/lib/workarea/basic_auth/railtie.rb +16 -0
  22. data/lib/workarea/basic_auth/simple_route_set.rb +23 -0
  23. data/lib/workarea/basic_auth/version.rb +5 -0
  24. data/test/dummy/Rakefile +6 -0
  25. data/test/dummy/app/assets/config/manifest.js +4 -0
  26. data/test/dummy/app/assets/images/.keep +0 -0
  27. data/test/dummy/app/assets/javascripts/application.js +13 -0
  28. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  29. data/test/dummy/app/controllers/application_controller.rb +3 -0
  30. data/test/dummy/app/controllers/concerns/.keep +0 -0
  31. data/test/dummy/app/helpers/application_helper.rb +2 -0
  32. data/test/dummy/app/jobs/application_job.rb +2 -0
  33. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  34. data/test/dummy/app/models/concerns/.keep +0 -0
  35. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  36. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  37. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  38. data/test/dummy/bin/bundle +3 -0
  39. data/test/dummy/bin/rails +4 -0
  40. data/test/dummy/bin/rake +4 -0
  41. data/test/dummy/bin/setup +34 -0
  42. data/test/dummy/bin/update +29 -0
  43. data/test/dummy/config.ru +5 -0
  44. data/test/dummy/config/application.rb +17 -0
  45. data/test/dummy/config/boot.rb +5 -0
  46. data/test/dummy/config/cable.yml +9 -0
  47. data/test/dummy/config/environment.rb +5 -0
  48. data/test/dummy/config/environments/development.rb +56 -0
  49. data/test/dummy/config/environments/production.rb +86 -0
  50. data/test/dummy/config/environments/test.rb +43 -0
  51. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  52. data/test/dummy/config/initializers/assets.rb +11 -0
  53. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  54. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  55. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  56. data/test/dummy/config/initializers/inflections.rb +16 -0
  57. data/test/dummy/config/initializers/mime_types.rb +4 -0
  58. data/test/dummy/config/initializers/new_framework_defaults.rb +21 -0
  59. data/test/dummy/config/initializers/session_store.rb +3 -0
  60. data/test/dummy/config/initializers/workarea.rb +4 -0
  61. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  62. data/test/dummy/config/locales/en.yml +23 -0
  63. data/test/dummy/config/puma.rb +47 -0
  64. data/test/dummy/config/routes.rb +5 -0
  65. data/test/dummy/config/secrets.yml +22 -0
  66. data/test/dummy/config/spring.rb +6 -0
  67. data/test/dummy/db/seeds.rb +2 -0
  68. data/test/dummy/lib/assets/.keep +0 -0
  69. data/test/dummy/log/.keep +0 -0
  70. data/test/factories/workarea/testing/basic_auth_helper.rb +21 -0
  71. data/test/lib/workarea/basic_auth/middleware_test.rb +149 -0
  72. data/test/lib/workarea/basic_auth/path_test.rb +50 -0
  73. data/test/lib/workarea/basic_auth/simple_route_set_test.rb +64 -0
  74. data/test/lib/workarea/basic_auth_test.rb +12 -0
  75. data/test/test_helper.rb +9 -0
  76. data/workarea-basic_auth.gemspec +39 -0
  77. metadata +226 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5dfc7106939adadfdd9a68402ab718b4402f58397fde56961b2829dc8ba3b931
4
+ data.tar.gz: 2950c86db45d8df08937d1def0256112e4ba696cd57ae4a6d9f26637fd4a62e8
5
+ SHA512:
6
+ metadata.gz: c0e4d294f866d66ed4a5f00f367d0ad7ca916ea5ea39008baad5f302fad4880793fc269058247d6c61bc049d1b42fa065c8cd7dddbfd1aa3176ae8a25a83c64d
7
+ data.tar.gz: 76fb28edc042898fb752d34aa18af184c081f8e2751d9ec67ba9f6864381eb0b8dc4cc59997534045e1ef7d2d7210f32b8fe0414734678a1bd46d34625cbc1cc
data/.editorconfig ADDED
@@ -0,0 +1,20 @@
1
+ # editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ indent_style = space
7
+ end_of_line = lf
8
+ trim_trailing_whitespace = true
9
+ insert_final_newline = true
10
+
11
+ [{*.rb,*.haml,*.decorator,*.yml,*.yaml,*.jbuilder}]
12
+ indent_size = 2
13
+ indent_style = space
14
+
15
+ [{*.js,*.jst,*.ejs,*.scss}]
16
+ indent_size = 4
17
+
18
+ [*.md]
19
+ indent_size = 4
20
+ trim_trailing_whitespace = false
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve Workarea
4
+ title: ''
5
+ labels: bug
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ ⚠️**Before you create**⚠️
11
+ Please verify the issue you're experiencing is not part of your Workarea project customizations. The best way to do this is with a [vanilla Workarea installation](https://developer.workarea.com/articles/create-a-new-host-application.html). This will help us spend time on fixes/improvements for the whole community. Thank you!
12
+
13
+ **Describe the bug**
14
+ A clear and concise description of what the bug is.
15
+
16
+ **To Reproduce**
17
+ Steps to reproduce the behavior:
18
+ 1. Go to '...'
19
+ 2. Click on '....'
20
+ 3. Scroll down to '....'
21
+ 4. See error
22
+
23
+ **Expected behavior**
24
+ A clear and concise description of what you expected to happen.
25
+
26
+ **Workarea Setup (please complete the following information):**
27
+ - Workarea Version: [e.g. v3.4.6]
28
+ - Plugins [e.g. workarea-blog, workarea-sitemaps]
29
+
30
+ **Attachments**
31
+ If applicable, add any attachments to help explain your problem, things like:
32
+ - screenshots
33
+ - Gemfile.lock
34
+ - test cases
35
+
36
+ **Additional context**
37
+ Add any other context about the problem here.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: Documentation request
3
+ about: Suggest documentation
4
+ title: ''
5
+ labels: documentation
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your documentation related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm confused by [...]
12
+
13
+ **Describe the article you'd like**
14
+ A clear and concise description of what would be in the documentation article.
15
+
16
+ **Additional context**
17
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for Workarea
4
+ title: ''
5
+ labels: enhancement
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
data/.gitignore ADDED
@@ -0,0 +1,25 @@
1
+ .bundle/
2
+ log/*.log
3
+ pkg/
4
+ test/dummy/db/*.sqlite3
5
+ test/dummy/db/*.sqlite3-journal
6
+ test/dummy/log/*.log
7
+ test/dummy/node_modules/
8
+ test/dummy/yarn-error.log
9
+ test/dummy/storage/
10
+ test/dummy/tmp/
11
+ .DS_Store
12
+ .byebug_history
13
+ .bundle/
14
+ .sass-cache/
15
+ Gemfile.lock
16
+ pkg/
17
+ test/dummy/tmp/
18
+ test/dummy/public/
19
+ log/*.log
20
+ test/dummy/log/*.log
21
+ test/dummy/db/*.sqlite3
22
+ test/dummy/db/*.sqlite3-journal
23
+ node_modules
24
+ package.json
25
+ yarn.lock
data/CHANGELOG.md ADDED
@@ -0,0 +1,371 @@
1
+ Workarea Basic Auth 1.1.1 (2019-08-21)
2
+ --------------------------------------------------------------------------------
3
+
4
+ * Open Source!
5
+
6
+
7
+
8
+ Workarea Basic Auth 1.1.0 (2019-03-19)
9
+ --------------------------------------------------------------------------------
10
+
11
+ * Add bypass for whitelisted ip addresses, set whitelist to alert logic ips
12
+
13
+ BASICAUTH-14
14
+ Matt Duffy
15
+
16
+ * Update for workarea v3.4 compatibility
17
+
18
+ BASICAUTH-12
19
+ Matt Duffy
20
+
21
+ * Update plugin to align with product team standards
22
+
23
+ Matt Duffy
24
+
25
+ * Bump version for release
26
+
27
+ Beresford, Jake
28
+
29
+ * Correct route to allow ELB to pass through
30
+
31
+ BASICAUTH-9
32
+ Beresford, Jake
33
+
34
+ * Change reference in rakefile from head to HEAD
35
+
36
+ Dave Barnow
37
+
38
+ * fix rubocop for build
39
+
40
+ Beresford, Jake
41
+
42
+ * Add changelog task to Rakefile and prepare for release
43
+
44
+ Beresford, Jake
45
+
46
+ * Configure rubocop
47
+
48
+ Install and configure rubocop using rails config
49
+
50
+ BASICAUTH-8
51
+ Eric Pigeon
52
+
53
+ * Fix test conversion for Workarea 3 bump
54
+
55
+ BASICAUTH-4
56
+ Eric Pigeon
57
+
58
+ * BASICAUTH-3: Revert some workarea name changes back to weblinc
59
+
60
+ Brian Berg
61
+
62
+ * Update basic_auth for work area v3 compatibility
63
+
64
+ * Rename directories, files, and file contents
65
+ * Update gemspec
66
+ * Update tests
67
+
68
+ BASICAUTH-3
69
+ Brian Berg
70
+
71
+ * Add ability to remove paths
72
+
73
+ This allows one to remove a path that has been added by default if you
74
+ want to do that.
75
+
76
+ BASICAUTH-2
77
+ Tom Scott
78
+
79
+ * BASICAUTH-2: Exclude common paths by default
80
+
81
+ Projects across the board apply these settings to the basic auth gem
82
+ after initialization. While we still want each project to configure
83
+ activation and what the username/password will be, it's not useful to
84
+ have each project individually configure their own basic auth gem for
85
+ static assets, because they need to be configured for every project.
86
+ This is now in the gem, so projects starting with the latest
87
+ `weblinc-basic_auth` will not need to check their apps to make sure
88
+ images still work after adding basic auth.
89
+ Tom Scott
90
+
91
+ * Bump patch version
92
+
93
+ Thomas Vendetta
94
+
95
+ * Handle lack of User-Agent in HTTP requests
96
+
97
+ Sometimes, like in the case of custom API clients, the User-Agent may
98
+ not be explicitly set, and so this will throw an exception because
99
+ HTTP_USER_AGENT is returning nil. Make sure we're always working with a
100
+ String when calling `#include?` to see if 'ELB-HealthChecker' is the
101
+ User-Agent making a request to the server.
102
+
103
+ BASICAUTH-1
104
+ Tom Scott
105
+
106
+ * Docs: Add asset exclusion
107
+
108
+ Thomas Vendetta
109
+
110
+ * Add documentation and default AWS health check
111
+
112
+ Thomas Vendetta
113
+
114
+ * Add proc based matching
115
+
116
+ Thomas Vendetta
117
+
118
+ * Better matching
119
+
120
+ Thomas Vendetta
121
+
122
+ * Better exclusion logic
123
+
124
+ Thomas Vendetta
125
+
126
+ * Bump version proper
127
+
128
+ Thomas Vendetta
129
+
130
+ * Greater than or equal to 0.5
131
+
132
+ Thomas Vendetta
133
+
134
+ * Automatically exclude health check
135
+
136
+ Thomas Vendetta
137
+
138
+ * Update weblinc core minimum version
139
+
140
+ Thomas Vendetta
141
+
142
+ * Documentation Formatting OCD
143
+
144
+ Thomas Vendetta
145
+
146
+ * Bump version for post install
147
+
148
+ Thomas Vendetta
149
+
150
+ * Update desc
151
+
152
+ Thomas Vendetta
153
+
154
+ * Add post install message w/ config
155
+
156
+ Thomas Vendetta
157
+
158
+ * Update readme
159
+
160
+ Thomas Vendetta
161
+
162
+ * Docs
163
+
164
+ Thomas Vendetta
165
+
166
+ * Docs
167
+
168
+ Thomas Vendetta
169
+
170
+ * Test invalid creds
171
+
172
+ Thomas Vendetta
173
+
174
+ * Proper authentication
175
+
176
+ Thomas Vendetta
177
+
178
+ * Update documentation and tests
179
+
180
+ Thomas Vendetta
181
+
182
+ * Remove app stuff
183
+
184
+ Thomas Vendetta
185
+
186
+ * Passing tests
187
+
188
+ Thomas Vendetta
189
+
190
+
191
+
192
+ WebLinc Basic Auth 1.0.1 (2017-06-01)
193
+ --------------------------------------------------------------------------------
194
+
195
+ * Correct route to allow ELB to pass through
196
+
197
+ BASICAUTH-9
198
+ Beresford, Jake
199
+
200
+ * Configure rubocop
201
+
202
+ Install and configure rubocop using rails config
203
+
204
+ BASICAUTH-8
205
+ Eric Pigeon
206
+
207
+ * Fix test conversion for Workarea 3 bump
208
+
209
+ BASICAUTH-4
210
+ Eric Pigeon
211
+
212
+ * BASICAUTH-3: Revert some workarea name changes back to weblinc
213
+ Brian Berg
214
+
215
+ * Update basic_auth for work area v3 compatibility
216
+
217
+ * Rename directories, files, and file contents
218
+ * Update gemspec
219
+ * Update tests
220
+
221
+ BASICAUTH-3
222
+ Brian Berg
223
+
224
+ * Add ability to remove paths
225
+
226
+ This allows one to remove a path that has been added by default if you
227
+ want to do that.
228
+
229
+ BASICAUTH-2
230
+ Tom Scott
231
+
232
+ * BASICAUTH-2: Exclude common paths by default
233
+
234
+ Projects across the board apply these settings to the basic auth gem
235
+ after initialization. While we still want each project to configure
236
+ activation and what the username/password will be, it's not useful to
237
+ have each project individually configure their own basic auth gem for
238
+ static assets, because they need to be configured for every project.
239
+ This is now in the gem, so projects starting with the latest
240
+ `weblinc-basic_auth` will not need to check their apps to make sure
241
+ images still work after adding basic auth.
242
+ Tom Scott
243
+
244
+ * Handle lack of User-Agent in HTTP requests
245
+
246
+ Sometimes, like in the case of custom API clients, the User-Agent may
247
+ not be explicitly set, and so this will throw an exception because
248
+ HTTP_USER_AGENT is returning nil. Make sure we're always working with a
249
+ String when calling `#include?` to see if 'ELB-HealthChecker' is the
250
+ User-Agent making a request to the server.
251
+
252
+ BASICAUTH-1
253
+ Tom Scott
254
+
255
+
256
+ WebLinc Basic Auth 1.0.0 (2017-05-22)
257
+ --------------------------------------------------------------------------------
258
+
259
+ * Configure rubocop
260
+
261
+ Install and configure rubocop using rails config
262
+
263
+ BASICAUTH-8
264
+ Eric Pigeon
265
+
266
+ * Fix test conversion for Workarea 3 bump
267
+
268
+ BASICAUTH-4
269
+ Eric Pigeon
270
+
271
+ * BASICAUTH-3: Revert some workarea name changes back to weblinc
272
+ Brian Berg
273
+
274
+ * Update basic_auth for work area v3 compatibility
275
+
276
+ * Rename directories, files, and file contents
277
+ * Update gemspec
278
+ * Update tests
279
+
280
+ BASICAUTH-3
281
+ Brian Berg
282
+
283
+ * Add ability to remove paths
284
+
285
+ This allows one to remove a path that has been added by default if you
286
+ want to do that.
287
+
288
+ BASICAUTH-2
289
+ Tom Scott
290
+
291
+ * BASICAUTH-2: Exclude common paths by default
292
+
293
+ Projects across the board apply these settings to the basic auth gem
294
+ after initialization. While we still want each project to configure
295
+ activation and what the username/password will be, it's not useful to
296
+ have each project individually configure their own basic auth gem for
297
+ static assets, because they need to be configured for every project.
298
+ This is now in the gem, so projects starting with the latest
299
+ `weblinc-basic_auth` will not need to check their apps to make sure
300
+ images still work after adding basic auth.
301
+ Tom Scott
302
+
303
+ * Handle lack of User-Agent in HTTP requests
304
+
305
+ Sometimes, like in the case of custom API clients, the User-Agent may
306
+ not be explicitly set, and so this will throw an exception because
307
+ HTTP_USER_AGENT is returning nil. Make sure we're always working with a
308
+ String when calling `#include?` to see if 'ELB-HealthChecker' is the
309
+ User-Agent making a request to the server.
310
+
311
+ BASICAUTH-1
312
+ Tom Scott
313
+
314
+
315
+ WebLinc Basic Auth 1.0.0 (2017-05-22)
316
+ --------------------------------------------------------------------------------
317
+
318
+ * Configure rubocop
319
+
320
+ Install and configure rubocop using rails config
321
+
322
+ BASICAUTH-8
323
+ Eric Pigeon
324
+
325
+ * Fix test conversion for Workarea 3 bump
326
+
327
+ BASICAUTH-4
328
+ Eric Pigeon
329
+
330
+ * BASICAUTH-3: Revert some workarea name changes back to weblinc
331
+ Brian Berg
332
+
333
+ * Update basic_auth for work area v3 compatibility
334
+
335
+ * Rename directories, files, and file contents
336
+ * Update gemspec
337
+ * Update tests
338
+
339
+ BASICAUTH-3
340
+ Brian Berg
341
+
342
+ * Add ability to remove paths
343
+
344
+ This allows one to remove a path that has been added by default if you
345
+ want to do that.
346
+
347
+ BASICAUTH-2
348
+ Tom Scott
349
+
350
+ * BASICAUTH-2: Exclude common paths by default
351
+
352
+ Projects across the board apply these settings to the basic auth gem
353
+ after initialization. While we still want each project to configure
354
+ activation and what the username/password will be, it's not useful to
355
+ have each project individually configure their own basic auth gem for
356
+ static assets, because they need to be configured for every project.
357
+ This is now in the gem, so projects starting with the latest
358
+ `weblinc-basic_auth` will not need to check their apps to make sure
359
+ images still work after adding basic auth.
360
+ Tom Scott
361
+
362
+ * Handle lack of User-Agent in HTTP requests
363
+
364
+ Sometimes, like in the case of custom API clients, the User-Agent may
365
+ not be explicitly set, and so this will throw an exception because
366
+ HTTP_USER_AGENT is returning nil. Make sure we're always working with a
367
+ String when calling `#include?` to see if 'ELB-HealthChecker' is the
368
+ User-Agent making a request to the server.
369
+
370
+ BASICAUTH-1
371
+ Tom Scott