django-pfx 1.2.dev101__tar.gz → 1.2.dev103__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.
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/PKG-INFO +1 -1
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/django_pfx.egg-info/PKG-INFO +1 -1
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/api.views.rst +17 -3
- django-pfx-1.2.dev103/doc/source/authentication.md +35 -0
- django-pfx-1.2.dev101/doc/source/authentication.md +0 -8
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/.gitignore +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/.gitlab-ci.yml +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/.pre-commit-config.yaml +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/LICENSE +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/MANIFEST.in +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/README.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/django_pfx.egg-info/SOURCES.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/django_pfx.egg-info/requires.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/django_pfx.egg-info/top_level.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/Makefile +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/conf.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/index.rst +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/cookbook.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/decorator.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/getting_started.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/internationalisation.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/model.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/pfx_views.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/doc/source/testing.md +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/img/pfx.png +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/img/pfx.svg +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/apps.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/decorator/rest.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/default_settings.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/exceptions.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/fields.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/http/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/http/json_response.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/management/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/middleware/locale.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/models/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/serializers/json.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/settings.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/shortcuts.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/storage/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/test.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/urls.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/fields.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/filters_views.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/locale_views.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/rest_views.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pyproject.toml +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/requirements.txt +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/runtest.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/setup.cfg +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/setup.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/models.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/settings/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/settings/ci.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/settings/common.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/settings/dev.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/settings/dev_custom_example.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/settings/dev_default.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/__init__.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/basic_api_errors.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/basic_api_test.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_api_doc.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_auth_api.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_cache.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_fields.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_filters.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_locale_api.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_perm_tests.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_perms_api.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_shortcuts.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_timezone_middleware.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_tools.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_user_queryset.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_view_decorators.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/tests/test_view_fields.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/urls.py +0 -0
- {django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/tests/views.py +0 -0
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
API
|
|
2
2
|
=====================
|
|
3
3
|
|
|
4
|
+
The ``AuthenticationView`` class
|
|
5
|
+
********************************
|
|
6
|
+
.. autoclass:: pfx.pfxcore.views.AuthenticationView
|
|
7
|
+
:members:
|
|
8
|
+
:undoc-members:
|
|
9
|
+
:show-inheritance:
|
|
10
|
+
|
|
11
|
+
The ``ForgottenPasswordView`` class
|
|
12
|
+
***********************************
|
|
13
|
+
.. autoclass:: pfx.pfxcore.views.ForgottenPasswordView
|
|
14
|
+
:members:
|
|
15
|
+
:undoc-members:
|
|
16
|
+
:show-inheritance:
|
|
17
|
+
|
|
4
18
|
The ``DetailRestViewMixin`` class
|
|
5
19
|
*********************************
|
|
6
20
|
.. autoclass:: pfx.pfxcore.views.DetailRestViewMixin
|
|
@@ -11,21 +25,21 @@ The ``DetailRestViewMixin`` class
|
|
|
11
25
|
.. :inherited-members:
|
|
12
26
|
|
|
13
27
|
The ``LocaleMiddleware`` class
|
|
14
|
-
|
|
28
|
+
******************************
|
|
15
29
|
.. autoclass:: pfx.pfxcore.middleware.LocaleMiddleware
|
|
16
30
|
:members:
|
|
17
31
|
:undoc-members:
|
|
18
32
|
:show-inheritance:
|
|
19
33
|
|
|
20
34
|
The ``LocaleRestView`` class
|
|
21
|
-
|
|
35
|
+
****************************
|
|
22
36
|
.. autoclass:: pfx.pfxcore.views.LocaleRestView
|
|
23
37
|
:members:
|
|
24
38
|
:undoc-members:
|
|
25
39
|
:show-inheritance:
|
|
26
40
|
|
|
27
41
|
The ``ModelMixin`` class
|
|
28
|
-
|
|
42
|
+
************************
|
|
29
43
|
.. autoclass:: pfx.pfxcore.views.ModelMixin
|
|
30
44
|
:members:
|
|
31
45
|
:undoc-members:
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Authentication
|
|
2
|
+
|
|
3
|
+
## Modes
|
|
4
|
+
|
|
5
|
+
There are 2 authentication modes: cookie and bearer token.
|
|
6
|
+
You can activate either or both by adding middleware:
|
|
7
|
+
|
|
8
|
+
* `'pfx.pfxcore.middleware.AuthenticationMiddleware'` (bearer token)
|
|
9
|
+
* `'pfx.pfxcore.middleware.CookieAuthenticationMiddleware'` (cookie)
|
|
10
|
+
|
|
11
|
+
To use the `CookieAuthenticationMiddleware`, you have to configure following settings:
|
|
12
|
+
|
|
13
|
+
* `PFX_COOKIE_DOMAIN`: the cookie domain
|
|
14
|
+
* `PFX_COOKIE_SECURE`: `Secure` attribute of the cookie (`True`/`False`)
|
|
15
|
+
* `PFX_COOKIE_SAMESITE`: `SameSite` attribute of the cookie (`'Strict'`/`'Lax'`/`'None'`)
|
|
16
|
+
* `PFX_TOKEN_SHORT_VALIDITY`: validity for short validity token (optional, default `{'hours': 12}`)
|
|
17
|
+
* `PFX_TOKEN_LONG_VALIDITY`: validity for long validity token (optional, default `{'days': 30}`)
|
|
18
|
+
|
|
19
|
+
`/auth/login?mode=jwt` will return a token for bearer token authentication.
|
|
20
|
+
`/auth/login?mode=cookie` will set and return the authentication cookie.
|
|
21
|
+
|
|
22
|
+
## Authentication views
|
|
23
|
+
|
|
24
|
+
The following views provide standard services:
|
|
25
|
+
|
|
26
|
+
* `AuthenticationView`
|
|
27
|
+
* `/auth/login`
|
|
28
|
+
* `/auth/logout`
|
|
29
|
+
* `/auth/set-password`
|
|
30
|
+
* `/auth/change-password`
|
|
31
|
+
* `/auth/validate-user-token`
|
|
32
|
+
* `ForgottenPasswordView`
|
|
33
|
+
* `/auth/forgotten-password`
|
|
34
|
+
|
|
35
|
+
See the API doc for details.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/management/commands/makeapidoc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/models/user_filtered_queryset_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/templates/registration/welcome_email.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/meta_filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_limit.py
RENAMED
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_offset.py
RENAMED
|
File without changes
|
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django-pfx-1.2.dev101 → django-pfx-1.2.dev103}/pfx/pfxcore/views/parameters/subset_page_subset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|