我正在我的應用程式中通過 Microsoft Auth 實作登錄。當我轉到授權 url 并提供我的憑據時,應用程式重定向到我的重定向 uri。在瀏覽器中我得到這個網址“http://localhost:5000/app/microsoft_signin/callback#code=M.R3_BAY.bc055b02-10a5-be57-8933-191cbb5d6b1d&state=12345”但是當我嘗試使用request.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
有沒有其他方法可以獲得這個完整的網址?我還發現回傳的網址有些奇怪。在“代碼”之前,我得到 # 而不是 ?,因此我無法使用這一行代碼獲取代碼 code = request.args.get("code")
uj5u.com熱心網友回復:
用 response_mode=query 替換 response_mode=fragment
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316764.html
