Dit is een minimalistisch Python script om een OAuth request uit te voeren op de AWV endpoints met een JWT access token. Je hebt hiervoor een Client ID en een JWK key nodig. Je genereert de JWK zelf en de Client ID krijg je als je toegang krijgt tot de AWV APIs. Vraag dit aan op het Beheerportaal met het publieke deel van je JWK key.
Zet je Python environment op, installeer de requirements en voer het script jwk_gen.py uit.
Environment opzetten:
python3 -m venv .venv
source ./.venv/bin/activate
pip install -r requirements.txtGenereer de key:
python3 jwk_gen.pyDocumentatie van de VO rond het genereren van een JWK
Om een Client ID aan te vragen, log je in op het Beheerportaal, waar je via de organisatie waar je deel van uitmaakt (zoals je eigen vennootschap).
Navigeer naar de aanvraag pagina: Start --> Toegangsbeheer --> API- en Clientbeheer --> Mijn OAuth Clients --> Nieuwe OAuth Client aanmaken, vull alle gegevens in en kies de API die je wil gebruiken.
Kies voor de AWV Toepassingen API voor algemene toegang tot de AWV applicaties. Deze toegang moet goedgekeurd worden voor je een Client ID toegewezen krijgt. Je kan ook kiezen voor de API op de PUB omgeving, AWV PUB API waar de opendata van AWV terug te vinden is. Deze API kan je zonder expliete goedkeuring aanvragen.
Als je de algemene toegang AWV Toepassingen API wenst te gebruiken, moet je Client ID ook bij het autorisatiesysteem van AWV geregistreerd worden. Gebruik de Client ID als VoId bij het aanmaken van de systeemgebruiker en AWV-Toepassingen als Entitlement.
Afhankelijk van de API die je gebruikt, zal je in het script een andere scope moeten aanduiden:
- AWV Toepassingen API vereist de scope
awv_toep_services - AWV PUB API vereist het gebruik van de scope
vo_info
Een Access Token vraag je aan bij een IDP aan de hand van een gesigned JWT token. Hiermee bewijs je je identiteit als client. Een access token is typisch een uur geldig, daarna moet je een nieuw aanvragen met een nieuw JWT token.
Maak een .env bestand aan (rename .env-template) en vul je CLIENT_ID in en het pad naar het JWK JSON bestand (die met je private key in) in JWK_KEY_PATH. Dit is voldoende om het script request_with_jwt_access_token.py uit te kunnen voeren.
Environment opzetten, als dat nog niet gebeurd is:
python3 -m venv .venv
source ./.venv/bin/activate
pip install -r requirements.txtDoe een Request met een JWT Access Token:
python3 request_with_jwt_access_token.py

