Skip to main content

"Open Forms extension to use Keycloak access tokens when requesting prefill data from external APIs."

Project description

Version:
0.2.0
Source:

https://github.com/open-formulieren/open-forms-ext-token-exchange

Keywords:

Open Forms Extension, Keycloak token exchange

PythonVersion:

3.8

Build status Code quality checks black Coverage status

python-versions django-versions pypi-version

Open Forms extension to use Keycloak access tokens when requesting prefill data from external APIs.

1 Features

  • Signal receiver which extracts the Keycloak access token from the session and caches it.

  • Pre-request hook that adds a custom authentication class to the request kwargs.

  • Custom authentication class that performs the token exchange with Keycloak and adds the exchanged token to the Authorization header.

2 Installation

Requirements

  • Python 3.7 or above

  • setuptools 30.3.0 or above

  • Django 3.2

3 Usage

For an explanation of this how this extension works, look at the Open Forms developer documentation.

To see how to build and distribute an image with this extension, look at the Open Forms documentation about building and distributing extensions.

4 Configuration

In the Open Forms Admin, go to Miscellaneous > Token exchange plugin configurations. Click on Add Token exchange plugin configuration and fill in the details:

  • Select the service for which you want the token authorisation to be performed.

  • Add the Keycloak audience.

Save the configuration.

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

open-forms-ext-token-exchange-0.2.0.tar.gz (7.6 kB view hashes)

Uploaded Source

Built Distribution

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