Skip to main content

Plugin OIDC (OpenID Connect) for Aldryn form fields.

Project description

Build Status Coverage Pypi package status Python versions license

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

How to use provider MojeID

Home › Djangocms_Oidc › Oidc register consumers › oidc register consumer: Add

Name: MojeID Test

Home › Djangocms_Oidc › Oidc providers › oidc provider: add

Name: MojeID Test
Code: mojeid
Register consumer: MojeID Test

Page structure: Add

OpenID Connect: OIDC Handover data
Provider: MojeID Test
Claims: {…} (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

djangocms-oidc-form-fields-2.0.0.tar.gz (28.3 kB view details)

Uploaded Source

Built Distribution

djangocms_oidc_form_fields-2.0.0-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file djangocms-oidc-form-fields-2.0.0.tar.gz.

File metadata

File hashes

Hashes for djangocms-oidc-form-fields-2.0.0.tar.gz
Algorithm Hash digest
SHA256 efd85ff457a5450fcc48641b994e0b8d0bf03c6212185bca5ed9c2da1a5a2137
MD5 252c7776cc51f5f079b1a2edadf48d6c
BLAKE2b-256 e9b8bc7616d76757e9f9dac9f4e134484705aa56f59a884570547a286c9235de

See more details on using hashes here.

File details

Details for the file djangocms_oidc_form_fields-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for djangocms_oidc_form_fields-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d371bd6eee5a7a59a949f0af59392c3321e01b3cd9ad3e9e4f332c6510b83489
MD5 b5246fc6379a772c442f8b3018d0deee
BLAKE2b-256 04c909ef9041580c8ceb8413a28d3a3d8643421b06be8ecb3774d9a2fb77dae7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page