Sobes.tech
Junior — Middle

Quel outil ou service recommanderiez-vous pour implémenter l'authentification des utilisateurs dans une application?

sobes.tech IA

Réponse de l'IA

Pour implémenter l'authentification des utilisateurs dans une application Python, on utilise souvent la bibliothèque Django Allauth (si Django est utilisé) ou Flask-Login pour Flask.

Si un système plus universel et évolutif est nécessaire, il est conseillé d'envisager des services d'authentification tels que Auth0 ou Firebase Authentication, qui offrent des solutions prêtes à l'emploi avec support OAuth, connexions sociales et authentification multifactorielle.

Exemple avec Flask-Login :

from flask import Flask, request, redirect, url_for
from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user

app = Flask(__name__)
app.secret_key = 'secret'
login_manager = LoginManager()
login_manager.init_app(app)

class User(UserMixin):
    def __init__(self, id):
        self.id = id

@login_manager.user_loader
def load_user(user_id):
    return User(user_id)

@app.route('/login', methods=['POST'])
def login():
    user = User(request.form['user_id'])
    login_user(user)
    return redirect(url_for('protected'))

@app.route('/protected')
@login_required
def protected():
    return 'Logged in successfully'

@app.route('/logout')
def logout():
    logout_user()
    return 'Logged out'

if __name__ == '__main__':
    app.run()