in backend/app.py [0:0]
def authorized():
if not ENABLE_AUTHENTICATION:
return redirect(url_for("index"))
if request.args.get("state") != session.get("state"):
return redirect(url_for("index"))
if "error" in request.args:
return f"Error: {request.args.get('error_description')}", 400
if request.args.get("code"):
logging.info("[webbackend] Attempting to acquire token for user.")
cache = _load_cache()
result = _build_msal_app(cache=cache).acquire_token_by_authorization_code(
request.args["code"],
scopes=SCOPE,
redirect_uri=url_for("authorized", _external=True)
)
if "error" in result:
logging.warning(f"Could not acquire token for user. Error: {result.get('error_description')}")
return f"Login failure: {result.get('error_description')}", 400
session["user"] = result.get("id_token_claims")
session["graph_access_token"] = result.get("access_token")
session["refresh_token"] = result.get("refresh_token")
_save_cache(cache)
if OTHER_AUTH_SCOPES:
logging.info("[webbackend] Attempting to acquire token for other scopes.")
try:
other_access_token = get_valid_access_token(OTHER_AUTH_SCOPES)
session["other_access_token"] = other_access_token
except Exception as ex:
logging.warning(f"Could not acquire token for other scopes {OTHER_AUTH_SCOPES}. Error: {str(ex)}")
return f"Other scopes token acquisition failure: {str(ex)}", 400
return redirect(url_for("index"))