Azure應用程式閘道導致會話消失

Azure應用程式閘道導致會話消失

我們有這樣的設定:

  • Linux容器Web應用程式(單一實例)
  • Nodejs伺服器與passportjs + openid
  • 外部身份驗證 (OpenID) 提供者。

如果直接聯繫前端(透過 .azurewebsites.net),身份驗證將按預期工作並且會話將正常運作。

然後我們配置了一個新網域,它指向應用程式網關並重定向到 web 應用程式。現在,UI 本身已加載,但是在登入後,應用程式「忘記」用戶已登入。

查看回應 cookie,appSessioncookie 在第一次登入重新導向後立即消失。

可以採取什麼措施來解決這個問題?我已經看到可以啟用基於 cookie 的親和力,但據我了解,如果我有多個 UI 實例,這才有意義?

答案1

最可能的原因是您必須啟用基於 Cookie 的關聯性

  1. 登入 Azure 入口網站。
  2. 在左側導覽窗格中,按一下「所有資源」。按一下「所有資源」側邊欄標籤中的應用程式網關名稱。如果您選擇的訂閱中已包含多個資源,您可以在「按名稱篩選...」方塊中輸入應用程式網關名稱,以輕鬆存取應用程式網關。
  3. 選擇“設定”下的“HTTP 設定”標籤。
  4. 選擇 HTTP 設置,然後在「新增 HTTP 設定」頁面上檢查是否啟用了基於 Cookie 的親和力。 在此輸入影像描述

更多的排查 Azure 應用程式網關會話關聯性問題

希望這可以幫助!

相關內容