Skip to content

nerc-project/coldfront-plugin-api

Repository files navigation

Coldfront API Plugin

REST API plugin for ColdFront.

See openapi.yaml for OpenAPI specification.

ColdFront doesn't currently provide a mechanism for allowing out of tree plugins to expose URLs, so applying the patch file at patches/01_add_api_urls.patch is required.

The plugin can be enabled by adding coldfront_plugin_api to ENABLED_APPS in the Django local_settings.py.

If the environment variable PLUGIN_AUTH_OIDC is detected, authentication will be done through mozilla-django-oidc, using the same configuration as the rest of ColdFront.

Note: If using service accounts and Keycloak, it is necessary to add openid to the client scope of the service account performing the API request. This step is because the mozilla-django-oidc Django Rest Framework implementation uses the userinfo endpoint to validate tokens and that endpoint requires openid scope. If you're receiving a 403 Forbidden and wondering why, that might be the cause. For more information, see client scope documentation.