Python request.url 未返回浏览器中显示的完整 url

Python request.url not returning full url that is shown in the browser

我正在我的应用程序中通过 Microsoft Auth 实现登录。当我去授权 url 并提供我的凭据时,应用程序重定向到我的重定向 uri。在浏览器中我得到这个 url "http://localhost:5000/app/microsoft_signin/callback#code=M.R3_BAY.bc055b02-10a5-be57-8933-191cbb5d6b1d&state=12345" 但是当我尝试使用 request.url 获取此 url 时,我只获取 url“http://localhost:5000/app/microsoft_signin/callback”的这一部分。

这是我的代码:

app.route("/app/microsoft_signin",methods=['GET','POST'])
def microsoft_signin_():

authorization_url = f'{MICROSOFT_CONFIG["MICROSOFT_AUTHORIZATION_URL"]}?client_id={MICROSOFT_CONFIG["MICROSOFT_CLIENT_ID"]}&response_type=code&redirect_uri={MICROSOFT_CONFIG["MICROSOFT_REDIRECT_URI"]}&response_mode=fragment&scope={MICROSOFT_CONFIG["MICROSOFT_SCOPE"]}&state=12345'
return redirect(authorization_url) 


@app.route("/app/microsoft_signin/callback",methods=['POST','PUT','GET'])
def microsoft_signin_callback_():

print('!!! CALL BACK HIT SUCCESSFULLY !!!')

print(f'Returned URL is: {request.url}') // http://localhost:5000/app/microsoft_signin/callback

还有其他方法可以完成此操作吗url?我还发现返回的 url 有一些奇怪的地方。在“代码”之前,我得到的是 # 而不是 ?,因此我无法使用此行代码 = request.args.get("code")

获取代码

将response_mode=片段替换为response_mode=查询