/ / Какъв е правилният начин за работа с python-social-auth изключения при използване на Flask? - питон, колба, python-social-auth

Какъв е правилният начин за работа с изключенията на Python-social-auth при използването на Flask? - питън, колба, питон-социално-автор

Аз добавям PSU към приложението Flask и всичко вървиДосега доста добре, но не мога да разбера как да се справя с изключенията, повдигнати от PSU. Едно такова изключение е Social.exceptions.AuthCancel, повдигнато, когато потребителят реши да анулира процеса на автентичност. покаже някакво съобщение.

Намерих a подобен въпрос как да направите това в Django, като създадете нов Middleware. Въпреки това, този подход изглежда използва middleware.py, дефиниран само в django_app на PSU (а не в flask_app).

Имам опит с Flask, но не съм добавил Middleware преди и не съм сигурен, че това е правилната посока.

Отговори:

1 за отговор № 1

UPDATE

Опитайте да дефинирате errorhandler (документи в http://flask.pocoo.org/docs/api/#flask.Flask.errorhandler), като този:

@app.errorhandler(500)  # since exceptions will produce 500 errors
def error_handler(error):
if isinstance(error, SocialAuthBaseException):
return redirect("/error")

Решението под тази линия няма да работи


Опитайте с teardown_request (http://flask.pocoo.org/docs/reqcontext/#teardown-callbacks), като този

@app.teardown_request
def teardown_handler(exception=None):
if exception and isinstance(exception, SocialAuthBaseException):
return redirect("/error")