Аз добавям PSU към приложението Flask и всичко вървиДосега доста добре, но не мога да разбера как да се справя с изключенията, повдигнати от PSU. Едно такова изключение е Social.exceptions.AuthCancel, повдигнато, когато потребителят реши да анулира процеса на автентичност. покаже някакво съобщение.
Намерих a подобен въпрос как да направите това в Django, като създадете нов Middleware. Въпреки това, този подход изглежда използва middleware.py, дефиниран само в django_app на PSU (а не в flask_app).
Имам опит с Flask, но не съм добавил Middleware преди и не съм сигурен, че това е правилната посока.
Отговори:
1 за отговор № 1UPDATE
Опитайте да дефинирате 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")