open-api-framework 0.8.0__tar.gz → 0.8.1__tar.gz

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 (32) hide show
  1. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/CHANGELOG.rst +9 -0
  2. {open_api_framework-0.8.0/open_api_framework.egg-info → open_api_framework-0.8.1}/PKG-INFO +3 -3
  3. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/README.rst +1 -1
  4. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/conf/base.py +22 -22
  5. {open_api_framework-0.8.0 → open_api_framework-0.8.1/open_api_framework.egg-info}/PKG-INFO +3 -3
  6. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework.egg-info/requires.txt +1 -1
  7. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/pyproject.toml +3 -3
  8. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/LICENSE +0 -0
  9. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/MANIFEST.in +0 -0
  10. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/__init__.py +0 -0
  11. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/apps.py +0 -0
  12. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/conf/__init__.py +0 -0
  13. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/conf/utils.py +0 -0
  14. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/context_processors.py +0 -0
  15. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/management/__init__.py +0 -0
  16. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/management/commands/__init__.py +0 -0
  17. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/management/commands/generate_envvar_docs.py +0 -0
  18. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/py.typed +0 -0
  19. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/static/open_api_framework/css/admin.css +0 -0
  20. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templates/open_api_framework/admin/base_site.html +0 -0
  21. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templates/open_api_framework/components/environment.html +0 -0
  22. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templates/open_api_framework/components/version.html +0 -0
  23. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templates/open_api_framework/env_config.rst +0 -0
  24. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templatetags/__init__.py +0 -0
  25. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templatetags/doc_tags.py +0 -0
  26. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework/templatetags/open_api_framework.py +0 -0
  27. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework.egg-info/SOURCES.txt +0 -0
  28. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework.egg-info/dependency_links.txt +0 -0
  29. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/open_api_framework.egg-info/top_level.txt +0 -0
  30. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/setup.cfg +0 -0
  31. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/tests/test_config_helpers.py +0 -0
  32. {open_api_framework-0.8.0 → open_api_framework-0.8.1}/tests/test_generate_envvar_docs.py +0 -0
@@ -1,6 +1,15 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 0.8.1 (2024-09-26)
5
+ ------------------
6
+
7
+ **Bugfixes/QOL**
8
+
9
+ * Change SESSION_COOKIE_SAMESITE to "Lax" to fix OIDC (#72)
10
+ * Remove url from SECRET_KEY help text (#76)
11
+ * Change CSP headers to support API schema page
12
+
4
13
  0.8.0 (2024-08-22)
5
14
  ------------------
6
15
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: open_api_framework
3
- Version: 0.8.0
3
+ Version: 0.8.1
4
4
  Summary: A metapackage for registration components, that bundles the dependencies shared between these components and provides generic settings
5
5
  Author-email: Maykin Media <support@maykinmedia.nl>
6
6
  License: Copyright © Maykin 2024
@@ -41,7 +41,7 @@ Requires-Dist: django-redis>=5.4.0
41
41
  Requires-Dist: djangorestframework>=3.15.2
42
42
  Requires-Dist: djangorestframework-gis>=1.0
43
43
  Requires-Dist: django-filter>=24.2
44
- Requires-Dist: drf-spectacular>=0.27.2
44
+ Requires-Dist: drf-spectacular[sidecar]>=0.27.2
45
45
  Requires-Dist: django-csp>=3.8
46
46
  Requires-Dist: djangorestframework-inclusions>=1.2.0
47
47
  Requires-Dist: commonground-api-common>=1.12.1
@@ -78,7 +78,7 @@ Requires-Dist: twine; extra == "release"
78
78
  Open API Framework
79
79
  ==================
80
80
 
81
- :Version: 0.8.0
81
+ :Version: 0.8.1
82
82
  :Source: https://github.com/maykinmedia/open-api-framework
83
83
  :Keywords: metapackage, dependencies
84
84
 
@@ -1,7 +1,7 @@
1
1
  Open API Framework
2
2
  ==================
3
3
 
4
- :Version: 0.8.0
4
+ :Version: 0.8.1
5
5
  :Source: https://github.com/maykinmedia/open-api-framework
6
6
  :Keywords: metapackage, dependencies
7
7
 
@@ -39,10 +39,7 @@ SITE_ID = config(
39
39
  # SECURITY WARNING: keep the secret key used in production secret!
40
40
  SECRET_KEY = config(
41
41
  "SECRET_KEY",
42
- help_text=(
43
- "Secret key that's used for certain cryptographic utilities. "
44
- "You should generate one via `miniwebtool <https://www.miniwebtool.com/django-secret-key-generator>`_"
45
- ),
42
+ help_text="Secret key that's used for certain cryptographic utilities. ",
46
43
  )
47
44
 
48
45
  # NEVER run with DEBUG=True in production-like environments
@@ -213,6 +210,7 @@ INSTALLED_APPS = [
213
210
  "vng_api_common",
214
211
  "notifications_api_common",
215
212
  "drf_spectacular",
213
+ "drf_spectacular_sidecar",
216
214
  "rest_framework",
217
215
  "django_markup",
218
216
  "solo",
@@ -549,11 +547,12 @@ SESSION_COOKIE_SECURE = IS_HTTPS
549
547
  SESSION_COOKIE_HTTPONLY = True
550
548
  SESSION_COOKIE_SAMESITE = config(
551
549
  "SESSION_COOKIE_SAMESITE",
552
- "Strict",
550
+ "Lax",
553
551
  help_text=(
554
552
  "The value of the SameSite flag on the session cookie. This flag prevents the "
555
553
  "cookie from being sent in cross-site requests thus preventing CSRF attacks and "
556
554
  "making some methods of stealing session cookie impossible."
555
+ "Currently interferes with OIDC. Keep the value set at Lax if used."
557
556
  ),
558
557
  )
559
558
 
@@ -955,9 +954,7 @@ LOG_OUTGOING_REQUESTS_MAX_AGE = config(
955
954
  # NOTE: make sure values are a tuple or list, and to quote special values like 'self'
956
955
 
957
956
  # ideally we'd use BASE_URI but it'd have to be lazy or cause issues
958
- CSP_DEFAULT_SRC = [
959
- "'self'",
960
- ] + config(
957
+ CSP_DEFAULT_SRC = ["'self'"] + config(
961
958
  "CSP_EXTRA_DEFAULT_SRC",
962
959
  default=[],
963
960
  split=True,
@@ -998,12 +995,16 @@ CSP_FORM_ACTION = (
998
995
  + CORS_ALLOWED_ORIGINS
999
996
  )
1000
997
 
1001
- CSP_IMG_SRC = CSP_DEFAULT_SRC + config(
1002
- "CSP_EXTRA_IMG_SRC",
1003
- default=[],
1004
- split=True,
1005
- group="Content Security Policy",
1006
- help_text="Extra ``img-src`` sources for CSP other than ``CSP_DEFAULT_SRC``.",
998
+ CSP_IMG_SRC = (
999
+ CSP_DEFAULT_SRC
1000
+ + ["data:", "cdn.redoc.ly"] # used by DRF spectacular
1001
+ + config(
1002
+ "CSP_EXTRA_IMG_SRC",
1003
+ default=[],
1004
+ split=True,
1005
+ group="Content Security Policy",
1006
+ help_text="Extra ``img-src`` sources for CSP other than ``CSP_DEFAULT_SRC``.",
1007
+ )
1007
1008
  )
1008
1009
 
1009
1010
  # affects <object> and <embed> tags, block everything by default but allow deploy-time
@@ -1018,8 +1019,13 @@ CSP_OBJECT_SRC = config(
1018
1019
 
1019
1020
  # we must include this explicitly, otherwise the style-src only includes the nonce because
1020
1021
  # of CSP_INCLUDE_NONCE_IN
1021
- CSP_STYLE_SRC = CSP_DEFAULT_SRC
1022
- CSP_SCRIPT_SRC = CSP_DEFAULT_SRC
1022
+ CSP_STYLE_SRC = CSP_DEFAULT_SRC + [
1023
+ "'unsafe-inline'",
1024
+ "fonts.googleapis.com",
1025
+ ] # used by DRF spectacular
1026
+ CSP_SCRIPT_SRC = CSP_DEFAULT_SRC + ["'unsafe-inline'"]
1027
+ CSP_FONT_SRC = ("'self'", "fonts.gstatic.com")
1028
+ CSP_WORKER_SRC = ("'self'", "blob:")
1023
1029
 
1024
1030
  # firefox does not get the nonce from default-src, see
1025
1031
  # https://stackoverflow.com/a/63376012
@@ -1035,9 +1041,3 @@ CSP_FRAME_SRC = ["'self'"]
1035
1041
  # CSP_SANDBOX # too much
1036
1042
 
1037
1043
  CSP_UPGRADE_INSECURE_REQUESTS = False # TODO enable on production?
1038
-
1039
- CSP_EXCLUDE_URL_PREFIXES = (
1040
- # ReDoc/Swagger pull in external sources, so don't enforce CSP on API endpoints/documentation.
1041
- "/api/",
1042
- "/admin/",
1043
- )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: open_api_framework
3
- Version: 0.8.0
3
+ Version: 0.8.1
4
4
  Summary: A metapackage for registration components, that bundles the dependencies shared between these components and provides generic settings
5
5
  Author-email: Maykin Media <support@maykinmedia.nl>
6
6
  License: Copyright © Maykin 2024
@@ -41,7 +41,7 @@ Requires-Dist: django-redis>=5.4.0
41
41
  Requires-Dist: djangorestframework>=3.15.2
42
42
  Requires-Dist: djangorestframework-gis>=1.0
43
43
  Requires-Dist: django-filter>=24.2
44
- Requires-Dist: drf-spectacular>=0.27.2
44
+ Requires-Dist: drf-spectacular[sidecar]>=0.27.2
45
45
  Requires-Dist: django-csp>=3.8
46
46
  Requires-Dist: djangorestframework-inclusions>=1.2.0
47
47
  Requires-Dist: commonground-api-common>=1.12.1
@@ -78,7 +78,7 @@ Requires-Dist: twine; extra == "release"
78
78
  Open API Framework
79
79
  ==================
80
80
 
81
- :Version: 0.8.0
81
+ :Version: 0.8.1
82
82
  :Source: https://github.com/maykinmedia/open-api-framework
83
83
  :Keywords: metapackage, dependencies
84
84
 
@@ -9,7 +9,7 @@ django-redis>=5.4.0
9
9
  djangorestframework>=3.15.2
10
10
  djangorestframework-gis>=1.0
11
11
  django-filter>=24.2
12
- drf-spectacular>=0.27.2
12
+ drf-spectacular[sidecar]>=0.27.2
13
13
  django-csp>=3.8
14
14
  djangorestframework-inclusions>=1.2.0
15
15
  commonground-api-common>=1.12.1
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "open_api_framework"
7
- version = "0.8.0"
7
+ version = "0.8.1"
8
8
  description = "A metapackage for registration components, that bundles the dependencies shared between these components and provides generic settings"
9
9
  authors = [
10
10
  {name = "Maykin Media", email = "support@maykinmedia.nl"}
@@ -38,7 +38,7 @@ dependencies = [
38
38
  "djangorestframework>=3.15.2",
39
39
  "djangorestframework-gis>=1.0",
40
40
  "django-filter>=24.2",
41
- "drf-spectacular>=0.27.2",
41
+ "drf-spectacular[sidecar]>=0.27.2",
42
42
  "django-csp>=3.8",
43
43
  "djangorestframework-inclusions>=1.2.0",
44
44
  "commonground-api-common>=1.12.1",
@@ -101,7 +101,7 @@ testpaths = ["tests"]
101
101
  DJANGO_SETTINGS_MODULE = "testapp.settings"
102
102
 
103
103
  [tool.bumpversion]
104
- current_version = "0.8.0"
104
+ current_version = "0.8.1"
105
105
  files = [
106
106
  {filename = "pyproject.toml"},
107
107
  {filename = "README.rst"},