pas.plugins.oidc 2.0.0a1__tar.gz → 2.0.0b1__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 (81) hide show
  1. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/.pre-commit-config.yaml +6 -6
  2. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/CHANGES.md +24 -0
  3. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/MANIFEST.in +2 -0
  4. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/PKG-INFO +41 -8
  5. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/README.md +6 -3
  6. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/pyproject.toml +11 -4
  7. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/setup.py +12 -5
  8. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/__init__.py +3 -1
  9. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/interfaces.py +1 -0
  10. pas.plugins.oidc-2.0.0b1/src/pas/plugins/oidc/locales/de/LC_MESSAGES/pas.plugins.oidc.mo +0 -0
  11. pas.plugins.oidc-2.0.0b1/src/pas/plugins/oidc/locales/de/LC_MESSAGES/pas.plugins.oidc.po +63 -0
  12. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/locales/en/LC_MESSAGES/pas.plugins.oidc.mo +0 -0
  13. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/locales/en/LC_MESSAGES/pas.plugins.oidc.po +27 -2
  14. pas.plugins.oidc-2.0.0b1/src/pas/plugins/oidc/locales/es/LC_MESSAGES/pas.plugins.oidc.mo +0 -0
  15. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/locales/es/LC_MESSAGES/pas.plugins.oidc.po +30 -4
  16. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/locales/pas.plugins.oidc.pot +27 -2
  17. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/locales/update.py +1 -0
  18. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/plugins.py +36 -8
  19. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/login/get.py +13 -8
  20. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/oidc/oidc.py +8 -6
  21. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/setuphandlers.py +5 -13
  22. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/utils.py +9 -4
  23. pas.plugins.oidc-2.0.0b1/src/pas/plugins/oidc/www/oidcPluginForm.zpt +66 -0
  24. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/PKG-INFO +41 -8
  25. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/SOURCES.txt +4 -0
  26. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/requires.txt +7 -1
  27. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/keycloak/import/plone-realm.json +255 -23
  28. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/keycloak/import/plone-test-realm.json +267 -24
  29. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/services/conftest.py +12 -0
  30. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/services/test_services_login_get.py +1 -1
  31. pas.plugins.oidc-2.0.0b1/tests/services/test_servides_login_get_multiple_plugins.py +33 -0
  32. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/utils/test_utils_flow.py +1 -1
  33. pas.plugins.oidc-2.0.0a1/src/pas/plugins/oidc/locales/es/LC_MESSAGES/pas.plugins.oidc.mo +0 -0
  34. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/.coveragerc +0 -0
  35. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/CONTRIBUTORS.md +0 -0
  36. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/LICENSE.GPL +0 -0
  37. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/LICENSE.md +0 -0
  38. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/Makefile +0 -0
  39. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/constraints.txt +0 -0
  40. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/docs/icon.png +0 -0
  41. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/docs/screenshot-settings.png +0 -0
  42. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/instance.yaml +0 -0
  43. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/requirements-docs.txt +0 -0
  44. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/requirements.txt +0 -0
  45. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/setup.cfg +0 -0
  46. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/__init__.py +0 -0
  47. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/__init__.py +0 -0
  48. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/browser/__init__.py +0 -0
  49. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/browser/configure.zcml +0 -0
  50. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/browser/view.py +0 -0
  51. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/configure.zcml +0 -0
  52. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/locales/__init__.py +0 -0
  53. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/profiles/default/browserlayer.xml +0 -0
  54. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/profiles/default/metadata.xml +0 -0
  55. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/profiles/uninstall/browserlayer.xml +0 -0
  56. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/__init__.py +0 -0
  57. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/configure.zcml +0 -0
  58. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/login/__init__.py +0 -0
  59. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/login/configure.zcml +0 -0
  60. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/oidc/__init__.py +0 -0
  61. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/services/oidc/configure.zcml +0 -0
  62. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/session.py +0 -0
  63. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas/plugins/oidc/testing.py +0 -0
  64. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/dependency_links.txt +0 -0
  65. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/entry_points.txt +0 -0
  66. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/namespace_packages.txt +0 -0
  67. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/not-zip-safe +0 -0
  68. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/src/pas.plugins.oidc.egg-info/top_level.txt +0 -0
  69. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/conftest.py +0 -0
  70. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/docker-compose.yml +0 -0
  71. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/functional/conftest.py +0 -0
  72. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/functional/test_functional.py +0 -0
  73. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/keycloak/Dockerfile +0 -0
  74. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/keycloak/import/.gitkeep +0 -0
  75. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/plugin/test_plugin.py +0 -0
  76. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/services/test_services_oidc_get.py +0 -0
  77. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/services/test_services_oidc_post.py +0 -0
  78. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/setup/test_setup_install.py +0 -0
  79. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/setup/test_setup_uninstall.py +0 -0
  80. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/utils/test_utils_str.py +0 -0
  81. {pas.plugins.oidc-2.0.0a1 → pas.plugins.oidc-2.0.0b1}/tests/utils/test_utils_url.py +0 -0
@@ -1,5 +1,5 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/config/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  ci:
5
5
  autofix_prs: false
@@ -7,16 +7,16 @@ ci:
7
7
 
8
8
  repos:
9
9
  - repo: https://github.com/asottile/pyupgrade
10
- rev: v3.15.0
10
+ rev: v3.15.2
11
11
  hooks:
12
12
  - id: pyupgrade
13
13
  args: [--py38-plus]
14
14
  - repo: https://github.com/pycqa/isort
15
- rev: 5.12.0
15
+ rev: 5.13.2
16
16
  hooks:
17
17
  - id: isort
18
18
  - repo: https://github.com/psf/black
19
- rev: 23.10.1
19
+ rev: 24.4.2
20
20
  hooks:
21
21
  - id: black
22
22
  - repo: https://github.com/collective/zpretty
@@ -32,7 +32,7 @@ repos:
32
32
  # """
33
33
  ##
34
34
  - repo: https://github.com/PyCQA/flake8
35
- rev: 6.1.0
35
+ rev: 7.0.0
36
36
  hooks:
37
37
  - id: flake8
38
38
 
@@ -71,7 +71,7 @@ repos:
71
71
  - id: check-python-versions
72
72
  args: ['--only', 'setup.py,pyproject.toml']
73
73
  - repo: https://github.com/collective/i18ndude
74
- rev: "6.1.0"
74
+ rev: "6.2.0"
75
75
  hooks:
76
76
  - id: i18ndude
77
77
 
@@ -9,6 +9,30 @@
9
9
 
10
10
  <!-- towncrier release notes start -->
11
11
 
12
+ ## 2.0.0b1 (2024-06-25)
13
+
14
+
15
+ ### New features:
16
+
17
+ - Added Deutsch translation
18
+ [@macagua] [#45](https://github.com/collective/pas.plugins.oidc/issues/45)
19
+ - Allow multiple instances of OIDC plugin in a given Plone site @erral [#48](https://github.com/collective/pas.plugins.oidc/issues/48)
20
+ - Notify user events on creation and authentication. [@Arkusm][@ericof] [#53](https://github.com/collective/pas.plugins.oidc/issues/53)
21
+ - Updated the latest .po templates for translate
22
+ Updated Spanish translation
23
+ [@macagua] [#55](https://github.com/collective/pas.plugins.oidc/issues/55)
24
+
25
+
26
+ ### Internal:
27
+
28
+ - Update configuration files @plone
29
+
30
+
31
+ ### Documentation:
32
+
33
+ - Recommend using `[pas.plugins.keycloakgroups](https://pypi.org/project/pas.plugins.keycloakgroups/)` for groups support with Keycloak [@ericof] [#42](https://github.com/collective/pas.plugins.oidc/issues/42)
34
+
35
+
12
36
  ## 2.0.0a1 (2023-11-23)
13
37
 
14
38
 
@@ -10,4 +10,6 @@ recursive-include tests *.py
10
10
  recursive-include tests *.gitkeep
11
11
  recursive-include tests *.json
12
12
  recursive-include tests *.yml
13
+ recursive-exclude docs/_build *
14
+ recursive-exclude docs/ .DS_Store
13
15
  include tests/keycloak/Dockerfile
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pas.plugins.oidc
3
- Version: 2.0.0a1
4
- Summary: An add-on for Plone
3
+ Version: 2.0.0b1
4
+ Summary: OIDC support for Plone sites
5
5
  Home-page: https://github.com/collective/pas.plugins.oidc
6
6
  Author: mamico
7
7
  Author-email: mauro.amico@gmail.com
@@ -9,8 +9,8 @@ License: GPL version 2
9
9
  Project-URL: PyPI, https://pypi.python.org/pypi/pas.plugins.oidc
10
10
  Project-URL: Source, https://github.com/collective/pas.plugins.oidc
11
11
  Project-URL: Tracker, https://github.com/collective/pas.plugins.oidc/issues
12
- Keywords: Python Plone CMS
13
- Classifier: Development Status :: 3 - Alpha
12
+ Keywords: Python Plone CMS PAS Authentication OAuth OIDC
13
+ Classifier: Development Status :: 4 - Beta
14
14
  Classifier: Environment :: Web Environment
15
15
  Classifier: Framework :: Plone
16
16
  Classifier: Framework :: Plone :: Addon
@@ -28,13 +28,19 @@ License-File: LICENSE.GPL
28
28
  License-File: LICENSE.md
29
29
  Requires-Dist: setuptools
30
30
  Requires-Dist: Plone
31
+ Requires-Dist: Zope
32
+ Requires-Dist: Products.CMFCore
31
33
  Requires-Dist: plone.api
34
+ Requires-Dist: plone.base
35
+ Requires-Dist: plone.protect
32
36
  Requires-Dist: plone.restapi>=8.34.0
33
37
  Requires-Dist: oic
34
38
  Provides-Extra: test
35
- Requires-Dist: gocept.pytestlayer; extra == "test"
39
+ Requires-Dist: zope.pytestlayer; extra == "test"
40
+ Requires-Dist: plone.app.contenttypes; extra == "test"
36
41
  Requires-Dist: plone.app.testing; extra == "test"
37
42
  Requires-Dist: plone.restapi[test]; extra == "test"
43
+ Requires-Dist: plone.testing; extra == "test"
38
44
  Requires-Dist: pytest-cov; extra == "test"
39
45
  Requires-Dist: pytest-plone>=0.2.0; extra == "test"
40
46
  Requires-Dist: pytest-docker; extra == "test"
@@ -46,7 +52,7 @@ Requires-Dist: pytest-mock; extra == "test"
46
52
  Requires-Dist: requests-mock; extra == "test"
47
53
 
48
54
 
49
- <div align="center"><img alt="logo" src="./docs/icon.png" width="70" /></div>
55
+ <div align="center"><img alt="pas.plugins.oidc logo" src="https://raw.githubusercontent.com/collective/pas.plugins.oidc/main/docs/icon.png" width="70" /></div>
50
56
 
51
57
  <h1 align="center">pas.plugins.oidc</h1>
52
58
 
@@ -78,6 +84,9 @@ OAuth 2.0 should work as well because OpenID Connect is built on top of this pro
78
84
  - PAS plugin, although currently no interfaces are activated.
79
85
  - Three browser views for this PAS plugin, which are the main interaction with the outside world.
80
86
 
87
+ ### Group Enumeration
88
+
89
+ If you need to support group enumeration from a Keycloak server, we recommend installing the package `[pas.plugins.keycloakgroups](https://pypi.org/project/pas.plugins.keycloakgroups/)`.
81
90
 
82
91
  ## Installation
83
92
 
@@ -129,7 +138,7 @@ When using this plugin with a [Volto frontend](https://6.docs.plone.org/volto/in
129
138
  * **Login URL**: `<Path to your Plone site>`/login
130
139
  * **Logout URL**: `<Path to your Plone site>`/logout
131
140
 
132
- Also, on the OpenID provider, configure the Redirect URL as **`<Path to your Plone site>`/login_oidc/oidc**.
141
+ Also, on the OpenID provider, configure the Redirect URL as **`<Path to your Plone site>`/login-oidc/oidc**.
133
142
 
134
143
 
135
144
  #### Classic UI
@@ -239,7 +248,7 @@ Specifically, here we will use a Docker image, so follow the instructions on how
239
248
 
240
249
  See this screenshot:
241
250
 
242
- .. image:: docs/screenshot-settings.png
251
+ ![](https://raw.githubusercontent.com/collective/pas.plugins.oidc/main/docs/screenshot-settings.png "Setup Plone as a client")
243
252
 
244
253
  #### Login
245
254
 
@@ -399,6 +408,30 @@ The project is licensed under the GPLv2.
399
408
 
400
409
  <!-- towncrier release notes start -->
401
410
 
411
+ ## 2.0.0b1 (2024-06-25)
412
+
413
+
414
+ ### New features:
415
+
416
+ - Added Deutsch translation
417
+ [@macagua] [#45](https://github.com/collective/pas.plugins.oidc/issues/45)
418
+ - Allow multiple instances of OIDC plugin in a given Plone site @erral [#48](https://github.com/collective/pas.plugins.oidc/issues/48)
419
+ - Notify user events on creation and authentication. [@Arkusm][@ericof] [#53](https://github.com/collective/pas.plugins.oidc/issues/53)
420
+ - Updated the latest .po templates for translate
421
+ Updated Spanish translation
422
+ [@macagua] [#55](https://github.com/collective/pas.plugins.oidc/issues/55)
423
+
424
+
425
+ ### Internal:
426
+
427
+ - Update configuration files @plone
428
+
429
+
430
+ ### Documentation:
431
+
432
+ - Recommend using `[pas.plugins.keycloakgroups](https://pypi.org/project/pas.plugins.keycloakgroups/)` for groups support with Keycloak [@ericof] [#42](https://github.com/collective/pas.plugins.oidc/issues/42)
433
+
434
+
402
435
  ## 2.0.0a1 (2023-11-23)
403
436
 
404
437
 
@@ -1,4 +1,4 @@
1
- <div align="center"><img alt="logo" src="./docs/icon.png" width="70" /></div>
1
+ <div align="center"><img alt="pas.plugins.oidc logo" src="https://raw.githubusercontent.com/collective/pas.plugins.oidc/main/docs/icon.png" width="70" /></div>
2
2
 
3
3
  <h1 align="center">pas.plugins.oidc</h1>
4
4
 
@@ -30,6 +30,9 @@ OAuth 2.0 should work as well because OpenID Connect is built on top of this pro
30
30
  - PAS plugin, although currently no interfaces are activated.
31
31
  - Three browser views for this PAS plugin, which are the main interaction with the outside world.
32
32
 
33
+ ### Group Enumeration
34
+
35
+ If you need to support group enumeration from a Keycloak server, we recommend installing the package `[pas.plugins.keycloakgroups](https://pypi.org/project/pas.plugins.keycloakgroups/)`.
33
36
 
34
37
  ## Installation
35
38
 
@@ -81,7 +84,7 @@ When using this plugin with a [Volto frontend](https://6.docs.plone.org/volto/in
81
84
  * **Login URL**: `<Path to your Plone site>`/login
82
85
  * **Logout URL**: `<Path to your Plone site>`/logout
83
86
 
84
- Also, on the OpenID provider, configure the Redirect URL as **`<Path to your Plone site>`/login_oidc/oidc**.
87
+ Also, on the OpenID provider, configure the Redirect URL as **`<Path to your Plone site>`/login-oidc/oidc**.
85
88
 
86
89
 
87
90
  #### Classic UI
@@ -191,7 +194,7 @@ Specifically, here we will use a Docker image, so follow the instructions on how
191
194
 
192
195
  See this screenshot:
193
196
 
194
- .. image:: docs/screenshot-settings.png
197
+ ![](https://raw.githubusercontent.com/collective/pas.plugins.oidc/main/docs/screenshot-settings.png "Setup Plone as a client")
195
198
 
196
199
  #### Login
197
200
 
@@ -1,5 +1,5 @@
1
1
  # Generated from:
2
- # https://github.com/plone/meta/tree/master/config/default
2
+ # https://github.com/plone/meta/tree/main/config/default
3
3
  # See the inline comments on how to expand/tweak this configuration file
4
4
  [build-system]
5
5
  requires = ["setuptools>=68.2"]
@@ -122,7 +122,7 @@ Zope = [
122
122
  'Products.CMFCore', 'Products.CMFDynamicViewFTI',
123
123
  ]
124
124
  python-dateutil = ['dateutil']
125
- ignore-packages = ['plone.restapi', 'plone.volto', 'zestreleaser.towncrier', 'zest.releaser', 'pytest', 'pytest-cov', 'pytest-plone', 'pytest-docker', 'pytest-vcr', 'pytest-mock', 'gocept.pytestlayer', 'requests-mock', 'vcrpy']
125
+ ignore-packages = ['plone.restapi', 'plone.volto', 'zestreleaser.towncrier', 'zest.releaser', 'pytest', 'pytest-cov', 'pytest-plone', 'pytest-docker', 'pytest-vcr', 'pytest-mock', 'zope.pytestlayer', 'requests-mock', 'vcrpy']
126
126
  Plone = ['Products.CMFPlone', 'Products.CMFCore', 'Products.GenericSetup', 'Products.PluggableAuthService', 'Products.PlonePAS']
127
127
 
128
128
  ##
@@ -138,16 +138,18 @@ Plone = ['Products.CMFPlone', 'Products.CMFCore', 'Products.GenericSetup', 'Prod
138
138
  [tool.check-manifest]
139
139
  ignore = [
140
140
  ".editorconfig",
141
+ ".flake8",
141
142
  ".meta.toml",
142
143
  ".pre-commit-config.yaml",
143
- "tox.ini",
144
- ".flake8",
144
+ "dependabot.yml",
145
145
  "mx.ini",
146
+ "tox.ini",
146
147
  "news/*",
147
148
  "constraints-mxdev.txt",
148
149
  "requirements-mxdev.txt",
149
150
 
150
151
  ]
152
+
151
153
  ##
152
154
  # Add extra configuration options in .meta.toml:
153
155
  # [pyproject]
@@ -155,6 +157,11 @@ ignore = [
155
157
  # "*.map.js",
156
158
  # "*.pyc",
157
159
  # """
160
+ # check_manifest_extra_lines = """
161
+ # ignore-bad-ideas = [
162
+ # "some/test/file/PKG-INFO",
163
+ # ]
164
+ # """
158
165
  ##
159
166
 
160
167
  [tool.coverage.run]
@@ -1,4 +1,5 @@
1
1
  """Installer for the pas.plugins.oidc package."""
2
+
2
3
  from pathlib import Path
3
4
  from setuptools import find_packages
4
5
  from setuptools import setup
@@ -13,13 +14,13 @@ long_description = f"""
13
14
 
14
15
  setup(
15
16
  name="pas.plugins.oidc",
16
- version="2.0.0a1",
17
- description="An add-on for Plone",
17
+ version="2.0.0b1",
18
+ description="OIDC support for Plone sites",
18
19
  long_description=long_description,
19
20
  long_description_content_type="text/markdown",
20
21
  # Get more from https://pypi.org/classifiers/
21
22
  classifiers=[
22
- "Development Status :: 3 - Alpha",
23
+ "Development Status :: 4 - Beta",
23
24
  "Environment :: Web Environment",
24
25
  "Framework :: Plone",
25
26
  "Framework :: Plone :: Addon",
@@ -32,7 +33,7 @@ setup(
32
33
  "Operating System :: OS Independent",
33
34
  "License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
34
35
  ],
35
- keywords="Python Plone CMS",
36
+ keywords="Python Plone CMS PAS Authentication OAuth OIDC",
36
37
  author="mamico",
37
38
  author_email="mauro.amico@gmail.com",
38
39
  url="https://github.com/collective/pas.plugins.oidc",
@@ -52,15 +53,21 @@ setup(
52
53
  install_requires=[
53
54
  "setuptools",
54
55
  "Plone",
56
+ "Zope",
57
+ "Products.CMFCore",
55
58
  "plone.api",
59
+ "plone.base",
60
+ "plone.protect",
56
61
  "plone.restapi>=8.34.0",
57
62
  "oic",
58
63
  ],
59
64
  extras_require={
60
65
  "test": [
61
- "gocept.pytestlayer",
66
+ "zope.pytestlayer",
67
+ "plone.app.contenttypes",
62
68
  "plone.app.testing",
63
69
  "plone.restapi[test]",
70
+ "plone.testing",
64
71
  "pytest-cov",
65
72
  "pytest-plone>=0.2.0",
66
73
  "pytest-docker",
@@ -1,4 +1,5 @@
1
1
  """Init and utils."""
2
+
2
3
  from AccessControl.Permissions import manage_users as ManageUsers
3
4
  from Products.PluggableAuthService import PluggableAuthService as PAS
4
5
  from zope.i18nmessageid import MessageFactory
@@ -23,5 +24,6 @@ def initialize(context): # pragma: no cover
23
24
  context.registerClass(
24
25
  plugins.OIDCPlugin,
25
26
  permission=ManageUsers,
26
- constructors=(plugins.add_oidc_plugin,),
27
+ constructors=(plugins.manage_addOIDCPluginForm, plugins.addOIDCPlugin),
28
+ visibility=None,
27
29
  )
@@ -1,4 +1,5 @@
1
1
  """Module where all interfaces, events and exceptions live."""
2
+
2
3
  from zope.publisher.interfaces.browser import IDefaultBrowserLayer
3
4
 
4
5
 
@@ -0,0 +1,63 @@
1
+ # Translation of pas.plugins.oidc.pot to Deutsch
2
+ # Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2024.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: Plone\n"
6
+ "POT-Creation-Date: 2024-05-23 11:20+0000\n"
7
+ "PO-Revision-Date: 2024-01-25 15:55+0000\n"
8
+ "Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>\n"
9
+ "Language-Team: Deutsch <plone-i18n@lists.sourceforge.net>\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "Plural-Forms: nplurals=1; plural=0;\n"
14
+ "Language-Code: de\n"
15
+ "Language-Name: Deutsch\n"
16
+ "Preferred-Encodings: utf-8 latin1\n"
17
+ "Domain: pas.plugins.oidc\n"
18
+ "X-Is-Fallback-For: de-at de-li de-lu de-ch de-de\n"
19
+
20
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:54
21
+ msgid "Add"
22
+ msgstr ""
23
+
24
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:26
25
+ msgid "Id"
26
+ msgstr ""
27
+
28
+ #: pas/plugins/oidc/configure.zcml:32
29
+ msgid "Installs the pas.plugins.oidc add-on."
30
+ msgstr "Installiert das Add-on pas.plugins.oidc."
31
+
32
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:13
33
+ msgid "OIDC Plugin manage the details of the OpenID Connect Authentication plugin Pluggable Auth Service functionality."
34
+ msgstr ""
35
+
36
+ #: pas/plugins/oidc/services/oidc/oidc.py:95
37
+ msgid "Provider is not properly configured."
38
+ msgstr ""
39
+
40
+ #: pas/plugins/oidc/browser/view.py:61
41
+ #: pas/plugins/oidc/services/oidc/oidc.py:107
42
+ msgid "There was an error during the login process. Please try again."
43
+ msgstr "Beim Anmeldevorgang ist ein Fehler aufgetreten. Bitte versuche es erneut."
44
+
45
+ #: pas/plugins/oidc/browser/view.py:54
46
+ msgid "There was an error getting the oauth2 client."
47
+ msgstr ""
48
+
49
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:40
50
+ msgid "Title"
51
+ msgstr ""
52
+
53
+ #: pas/plugins/oidc/configure.zcml:41
54
+ msgid "Uninstalls the pas.plugins.oidc add-on."
55
+ msgstr "Deinstalliert das Add-on pas.plugins.oidc."
56
+
57
+ #: pas/plugins/oidc/configure.zcml:32
58
+ msgid "pas.plugins.oidc"
59
+ msgstr "pas.plugins.oidc"
60
+
61
+ #: pas/plugins/oidc/configure.zcml:41
62
+ msgid "pas.plugins.oidc (uninstall)"
63
+ msgstr "pas.plugins.oidc (deinstallieren)"
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: PACKAGE VERSION\n"
4
- "POT-Creation-Date: 2023-11-08 15:55+0000\n"
4
+ "POT-Creation-Date: 2024-05-23 11:20+0000\n"
5
5
  "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
6
6
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
7
7
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,14 +14,39 @@ msgstr ""
14
14
  "Preferred-Encodings: utf-8 latin1\n"
15
15
  "Domain: DOMAIN\n"
16
16
 
17
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:54
18
+ msgid "Add"
19
+ msgstr ""
20
+
21
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:26
22
+ msgid "Id"
23
+ msgstr ""
24
+
17
25
  #: pas/plugins/oidc/configure.zcml:32
18
26
  msgid "Installs the pas.plugins.oidc add-on."
19
27
  msgstr ""
20
28
 
21
- #: pas/plugins/oidc/browser/view.py:129
29
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:13
30
+ msgid "OIDC Plugin manage the details of the OpenID Connect Authentication plugin Pluggable Auth Service functionality."
31
+ msgstr ""
32
+
33
+ #: pas/plugins/oidc/services/oidc/oidc.py:95
34
+ msgid "Provider is not properly configured."
35
+ msgstr ""
36
+
37
+ #: pas/plugins/oidc/browser/view.py:61
38
+ #: pas/plugins/oidc/services/oidc/oidc.py:107
22
39
  msgid "There was an error during the login process. Please try again."
23
40
  msgstr ""
24
41
 
42
+ #: pas/plugins/oidc/browser/view.py:54
43
+ msgid "There was an error getting the oauth2 client."
44
+ msgstr ""
45
+
46
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:40
47
+ msgid "Title"
48
+ msgstr ""
49
+
25
50
  #: pas/plugins/oidc/configure.zcml:41
26
51
  msgid "Uninstalls the pas.plugins.oidc add-on."
27
52
  msgstr ""
@@ -3,10 +3,11 @@
3
3
  msgid ""
4
4
  msgstr ""
5
5
  "Project-Id-Version: pas.plugins.oidc\n"
6
- "POT-Creation-Date: 2023-11-08 15:55+0000\n"
7
- "PO-Revision-Date: 2023-05-29 05:41-0400\n"
6
+ "POT-Creation-Date: 2024-05-23 10:58+0000\n"
7
+ "PO-Revision-Date: 2024-05-23 07:00-0400\n"
8
8
  "Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>\n"
9
9
  "Language-Team: ES <LL@li.org>\n"
10
+ "Language: es\n"
10
11
  "MIME-Version: 1.0\n"
11
12
  "Content-Type: text/plain; charset=utf-8\n"
12
13
  "Content-Transfer-Encoding: 8bit\n"
@@ -15,17 +16,42 @@ msgstr ""
15
16
  "Language-Name: Español\n"
16
17
  "Preferred-Encodings: utf-8\n"
17
18
  "Domain: pas.plugins.oidc\n"
18
- "Language: es\n"
19
19
  "X-Is-Fallback-For: es-ar es-bo es-cl es-co es-cr es-do es-ec es-es es-sv es-gt es-hn es-mx es-ni es-pa es-py es-pe es-pr es-us es-uy es-ve\n"
20
+ "X-Generator: Poedit 3.4.4\n"
21
+
22
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:54
23
+ msgid "Add"
24
+ msgstr "Añadir"
25
+
26
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:26
27
+ msgid "Id"
28
+ msgstr "Id"
20
29
 
21
30
  #: pas/plugins/oidc/configure.zcml:32
22
31
  msgid "Installs the pas.plugins.oidc add-on."
23
32
  msgstr "Instala el complemento pas.plugins.oidc."
24
33
 
25
- #: pas/plugins/oidc/browser/view.py:129
34
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:13
35
+ msgid "OIDC Plugin manage the details of the OpenID Connect Authentication plugin Pluggable Auth Service functionality."
36
+ msgstr "El plugin OIDC gestiona los detalles de la funcionalidad del plugin de autenticación OpenID Connect Pluggable Auth Service."
37
+
38
+ #: pas/plugins/oidc/services/oidc/oidc.py:95
39
+ msgid "Provider is not properly configured."
40
+ msgstr "El proveedor no está configurado correctamente."
41
+
42
+ #: pas/plugins/oidc/browser/view.py:61
43
+ #: pas/plugins/oidc/services/oidc/oidc.py:107
26
44
  msgid "There was an error during the login process. Please try again."
27
45
  msgstr "Hubo un error durante el proceso de inicio de sesión. Inténtalo de nuevo."
28
46
 
47
+ #: pas/plugins/oidc/browser/view.py:54
48
+ msgid "There was an error getting the oauth2 client."
49
+ msgstr "Hubo un error al obtener el cliente oauth2."
50
+
51
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:40
52
+ msgid "Title"
53
+ msgstr "Título"
54
+
29
55
  #: pas/plugins/oidc/configure.zcml:41
30
56
  msgid "Uninstalls the pas.plugins.oidc add-on."
31
57
  msgstr "Desinstala el complemento pas.plugins.oidc."
@@ -4,7 +4,7 @@
4
4
  msgid ""
5
5
  msgstr ""
6
6
  "Project-Id-Version: PACKAGE VERSION\n"
7
- "POT-Creation-Date: 2023-11-08 15:55+0000\n"
7
+ "POT-Creation-Date: 2024-05-23 11:20+0000\n"
8
8
  "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
9
9
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
10
10
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,14 +17,39 @@ msgstr ""
17
17
  "Preferred-Encodings: utf-8 latin1\n"
18
18
  "Domain: pas.plugins.oidc\n"
19
19
 
20
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:54
21
+ msgid "Add"
22
+ msgstr ""
23
+
24
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:26
25
+ msgid "Id"
26
+ msgstr ""
27
+
20
28
  #: pas/plugins/oidc/configure.zcml:32
21
29
  msgid "Installs the pas.plugins.oidc add-on."
22
30
  msgstr ""
23
31
 
24
- #: pas/plugins/oidc/browser/view.py:129
32
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:13
33
+ msgid "OIDC Plugin manage the details of the OpenID Connect Authentication plugin Pluggable Auth Service functionality."
34
+ msgstr ""
35
+
36
+ #: pas/plugins/oidc/services/oidc/oidc.py:95
37
+ msgid "Provider is not properly configured."
38
+ msgstr ""
39
+
40
+ #: pas/plugins/oidc/browser/view.py:61
41
+ #: pas/plugins/oidc/services/oidc/oidc.py:107
25
42
  msgid "There was an error during the login process. Please try again."
26
43
  msgstr ""
27
44
 
45
+ #: pas/plugins/oidc/browser/view.py:54
46
+ msgid "There was an error getting the oauth2 client."
47
+ msgstr ""
48
+
49
+ #: pas/plugins/oidc/www/oidcPluginForm.zpt:40
50
+ msgid "Title"
51
+ msgstr ""
52
+
28
53
  #: pas/plugins/oidc/configure.zcml:41
29
54
  msgid "Uninstalls the pas.plugins.oidc add-on."
30
55
  msgstr ""
@@ -1,4 +1,5 @@
1
1
  """Update locales."""
2
+
2
3
  from pathlib import Path
3
4
 
4
5
  import logging