LU06.A05 - Authentifizierung für die ToDo-Liste API mit Flask-Login

Deine Aufgabe ist es, der bereits erstellten RESTful API für die ToDo-Liste eine Authentifizierungsfunktionalität hinzuzufügen. Dazu sollst du Flask-Login verwenden.

Vorgehen

0. Vorbereiten

1. Integriere Flask-Login

Installiere Flask-Login

Füge Flask-Login >= 0.6.3 in deine requirements.txt Datei hinzu und installiere es.

Initialisiere Flask-Login in deiner Hauptanwendung

from flask_login import LoginManager
 
login_manager = LoginManager()
login_manager.init_app(app)

2. User-Klasse Erstellen

3. Implementiere die ''user_loader''-Funktion

@login_manager.user_loader
def load_user(user_id):
    return user_dao.get_user_by_id(int(user_id))

4. Schütze die ToDo-Endpunkte

from flask_login import login_required
 
@app.route('/todos', methods=['GET'])
@login_required
def get_all_todos():
    # Dein Code hier

5. Implementiere ''Login'' und ''Logout'' Endpunkte

from flask_login import login_user, logout_user
 
@app.route('/login', methods=['POST'])
def login():
    # Dein Code hier
 
@app.route('/logout', methods=['POST'])
def logout():
    # Dein Code hier

6. Teste deine API

Via API-Testing.http-File im Workspace

oder via: Run in Postman

7. Abgabe

Die Abgabe der Lösung erfolgt als Push in das persönliche GitHub-Repository.


⇒ GitHub Repo für externe Besucher

GitHub Repository https://github.com/templates-python/m323-lu06-a05-authentication

Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden

© Kevin Maurizi