JWT Authentication mit FastAPI - Role-Based Access Control & SQLite DB (incl. Bestätigungsemail)

preview_player
Показать описание
In diesem Video zeige ich euch wie man mit FastAPI eine rollenbasierte Zugriffskontrolle auf verschiedene API Endpunkte umsetzt. Wir werden Admin und User Accounts generieren. Es wird uns eine Bestätigungsmail geschickt bevor wir Daten von Endpunkten abfragen können. Danach müssen und je nach Rolle erhalten wir Zugriff auf Endpunkte oder oder es wird uns dieser verwehrt.

PREREQUISITES:

Timestamps:
0:00 Projektübersicht
3:00 Projektaufbau
4:49 SQLite aufsetzen
11:05 Schemas und Modells anlegen
17:39 POST /register Logik
30:30 GET /users Logik
32:40 Password Hashing
35:28 Login mit JWT
52:33 Secured GET Users Endpunkt
1:02:30 Admin only Endpunkt
1:06:27 Versand Bestätigungsemail
Рекомендации по теме
Комментарии
Автор

sehr sehr geiles, informatives und lehrreiches Video. Zum Glück hab ich mir vor Kurzem seine REST API Videos angetan :)

linuxonkel
Автор

hi, deine crashkurse sind nice. würde mir zum nachschlagen helfen, wenn du die zu installierenden libs in der Beschreibung auflistest

younited
Автор

Wie gut du erklären kannst! Es ist echt mega! Warum arbeitest du nicht als Lehrbeauftragter an einer Uni oder so? 👌😎

irookain
Автор

Super Video vielen Dank!

Ich hätte mal noch ne Frage dazu.
Der ganze Authorisierungsprozess findet ja nur in den Docs statt.

Meine App beinhaltet POST GET requests, die nicht von jedem Aufrufbar sein sollen.

Ich nutze die GET req, um Informationen zu erhalten, die in einem anderen Skript wieder verwertet wird (kontinuierlich)

Mein Problem ist jetzt, dass die ganze Auth soweit gut funktioniert, aber sobald ich das über das andere Programm starte, erhalte ich Unauth Error.

Wie kann ich denn gewährleisten, dass das Programm im Hintergrund (das die Daten abfragt) nach dem Login Prozess auch autorisiert ist?

Danke schonmal im voraus

WahreZocker
Автор

Deine Videos sind echt sehr cool erklärt, vielen Dank :) Eine Frage, ich baue das grade nach, aber beim Aufruf der auth.verify_password im Login Endpunkt kriege ich db_user.hashed_password nicht obwohl es auf die Klasse User zeigt. Ich wollte dann deinen Code im Git vergleichen, der sieht aber an vielen Stellen anders aus als im Video, hat das einen speziellen Grund?

philippmuller
Автор

Auf jedenfall besser direkt FastAPI zu lernen als Flask mit RestX, oder?

wintermuted