workarea-basic_auth 1.1.1

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