-
Notifications
You must be signed in to change notification settings - Fork 36
Registries Webapp and API
This page presents an overview of the Registries web application and backend API features and functionality. It is intended to document how features are implemented to assist contributors with development and maintenance.
Authentication uses JSON Web Tokens (JWT) provided and signed by our OpenID Connect (OIDC) provider. JWTs are sent in request headers as follows:
Authorization: JWT xxxxxxxxxxxx
The Registries API backend uses the django-restframework-jwt package to decode JWT tokens and verify their signature. Once we have verified that the JWT was signed by the GWELLS OIDC provider, the auth backend class in gwells/authentication.py
retrieves the user profile that matches the Keycloak GUID in the 'sub' claim of the token. If the user doesn't exist yet, a profile is automatically created.
When a profile is retrieved, the Django User
object is attached to request.user
and is available to the view classes in views.py
. Each user object has a user.profile
that stores data such as preferred name and GWELLS admin status.
- Working on GWELLS (full workflow from writing code to deploying to prod)
- Water terminologies
- Testing
- Swagger Documentation
- Restore a database backup manually
- (Archived) Manual Syncing of DEV to TEST to PROD
- (Archived) Setup GWells data migration for local dev test
- Update PostGres Oracle Foreign Data Wrapper image
- Increase PostgreSQL Database storage
- (Archived) Regular Corruption of the PostgreSQL DB
- (Archived) Recovering from a corrupt PostgreSQL Database