Plugin OIDC (OpenID Connect) for Aldryn form fields.
Project description
DjangoCMS OIDC (OpenID Connect) plugins for Aldryn form fields
Plugins for post a data hangovered from OpenID provider, based on plugins DjangoCMS OIDC and Aldryn Forms.
Installation
$ pip install djangocms-oidc-form-fields
Add settings to settings.py
Start by making the following changes to your settings.py file.
# Add 'aldryn_forms' and 'djangocms_oidc_form_fields' to INSTALLED_APPS
INSTALLED_APPS = [
# ...
'multiselectfield',
'django_countries',
'mozilla_django_oidc', # place after auth (django.contrib.auth)
'djangocms_oidc',
'aldryn_forms',
'djangocms_oidc_form_fields',
]
AUTHENTICATION_BACKENDS = [
# ...
'djangocms_oidc.auth.DjangocmsOIDCAuthenticationBackend',
]
MIDDLEWARE = [
# ...
'djangocms_oidc.middleware.OIDCSessionRefresh',
]
# Define OIDC classes
OIDC_AUTHENTICATE_CLASS = "djangocms_oidc.views.DjangocmsOIDCAuthenticationRequestView"
OIDC_CALLBACK_CLASS = "djangocms_oidc.views.DjangocmsOIDCAuthenticationCallbackView"
OIDC_OP_AUTHORIZATION_ENDPOINT = "https://example.com/authorization-endpoint"
OIDC_RP_CLIENT_ID = "myClientId"
Add OIDC urls to urls.py
Modify your project urls.py file.
urlpatterns = [
# ....
path('oidc/', include('mozilla_django_oidc.urls')),
path('djangocms-oidc/', include('djangocms_oidc.urls')),
]
Usage in administration
These plugins are available to the editor in the administration:
OIDC Fields
OIDC Text
OIDC Textarea
OIDC Hidden
OIDC Email
OIDC EmailIntoFromField
OIDC Phone
OIDC Number
OIDC Boolean
OIDC Span element
How to use provider MojeID
Home › Djangocms_Oidc › Oidc register consumers › oidc register consumer: Add
Name: MojeID TestRegister consumer: https://mojeid.regtest.nic.cz/oidc/registration/
Home › Djangocms_Oidc › Oidc providers › oidc provider: add
Name: MojeID TestCode: mojeidRegister consumer: MojeID TestAuthorization endpoint: https://mojeid.regtest.nic.cz/oidc/authorization/Token endpoint: https://mojeid.regtest.nic.cz/oidc/token/User endpoint: https://mojeid.regtest.nic.cz/oidc/userinfo/Account URL: https://mojeid.regtest.nic.cz/editor/Logout URL: https://mojeid.regtest.nic.cz/logout/
Page structure: Add
OpenID Connect: OIDC Handover dataProvider: MojeID TestClaims: {…} (copy from the example below) For mojeid see list “claims_supported” in .well-known openid-configuration.Verified by names: … (copy from the example below)
How to run an example
Run the example in Docker. Install as follows:
$ git clone https://github.com/CZ-NIC/djangocms-oidc-form-fields.git
$ cd djangocms-oidc-form-fields/example
$ docker-compose build web
$ docker-compose run --user $(id -u):$(id -g) web python manage.py migrate
$ docker-compose run --user $(id -u):$(id -g) web python manage.py loaddata site.json
You start the webserver:
$ docker-compose up -d
Open in your browser: https://localhost:8000/. To log in to the administrations use admin:password at http://localhost:8000/admin.
You sto Webserver:
$ docker-compose down
License
This software is licensed under the GNU GPL license. For more info check the LICENSE file.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for djangocms_oidc_form_fields-3.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a7650f033c6918f2f89dc94fb008f3a94cf8fc5ee1f3478fdd4be5d531aa2fc |
|
MD5 | bf2ce70c071827b60a80eba97f2e1cf7 |
|
BLAKE2b-256 | e7aadbb722de3df12ae2ef48ac7ce8ccee06f5b359fd8400e3f3f732f9b02aef |
Hashes for djangocms_oidc_form_fields-3.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5f64c26ffc4f6a98b9b410e398700e74e714a501e49ef8c777b9956ce800bd3 |
|
MD5 | e8f4c49c244ada15fe187870e9a0775f |
|
BLAKE2b-256 | a1c5e54f99835f7c409ead7675c290cb0cd49d30f5631fe29dd550223f18d5d0 |