Ergänze die Autorisierung mittels JSON Web Token in der vorgegebenen Applikation.
Die Webapplikation bietet 3 unterschiedliche Services an. Jenachdem welche Rolle ein Client hat, darf er diese Services benutzen.
| Service | HTTP-Methode | Rollen | |||
|---|---|---|---|---|---|
| customer | employee | admin | |||
| readData | GET | X | X | X | |
| saveData | POST | - | X | X | |
| deleteData | DELETE | - | - | X | |
Der Client muss die Rolle in einem JSON Webtoken als Claim userrole mitsenden.
Das Token im Authorization-Header wird decodiert und geprüft.
Falls ein gültiges Token vorhanden ist, wird der Claim userrole im globalen Kontext g gespeichert.
Prüft ob im globalen Kontext eine userrole vorhanden ist.
Die userrole muss customer, employee oder admin sein.
Prüft ob im globalen Kontext eine userrole vorhanden ist.
Die userrole muss employee oder admin sein.
Prüft ob im globalen Kontext eine userrole vorhanden ist.
Die userrole muss admin sein.
Um deine Applikation zu testen, benötigst du ein gültiges Token. Dieses kannst du über das Login in der Applikation „m321-lu05-a01-authentication“ erhalten.
ACCESS_TOKEN_KEY verwenden.Den Port kannst du in der „Run/Debug Configuration“ von PyCharm über „Additional options“ einstellen.
GitHub Repository https://github.com/templates-python/m321-lu06-a01-authorization
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden