fix(embed): fix server error due to breaking change on flask-login (#22462)

Co-authored-by: Usiel Riedl <usiel.riedl@automattic.com>
This commit is contained in:
Usiel Riedl
2023-01-12 17:48:01 +08:00
committed by GitHub
parent 68b0a5993d
commit d5ecfbb901
3 changed files with 77 additions and 7 deletions

View File

@@ -19,10 +19,10 @@ from typing import Callable
from flask import abort, g, request
from flask_appbuilder import expose
from flask_login import AnonymousUserMixin, LoginManager
from flask_login import AnonymousUserMixin, login_user
from flask_wtf.csrf import same_origin
from superset import event_logger, is_feature_enabled, security_manager
from superset import event_logger, is_feature_enabled
from superset.embedded.dao import EmbeddedDAO
from superset.superset_typing import FlaskResponse
from superset.utils import core as utils
@@ -68,8 +68,7 @@ class EmbeddedView(BaseSupersetView):
# Log in as an anonymous user, just for this view.
# This view needs to be visible to all users,
# and building the page fails if g.user and/or ctx.user aren't present.
login_manager: LoginManager = security_manager.lm
login_manager.reload_user(AnonymousUserMixin())
login_user(AnonymousUserMixin(), force=True)
add_extra_log_payload(
embedded_dashboard_id=uuid,