簡體   English   中英

本地state清除后授權碼流程如何記住用戶?

[英]How does Authorization Code flow remember the user after local state is cleared?

給定一個通過 Microsoft 的msal.js使用 Oauth 2.0授權代碼流的應用程序,我通過提供我的憑據登錄。 然后我完全清除瀏覽器的 state、緩存、本地/會話存儲,並刷新頁面,使單頁應用程序不知道我已登錄,但我仍然使用 Microsoft 后端登錄。

當我啟動另一個登錄時,它可以靜默進行,無需重新詢問我的憑據。

顯然,通過對https://login.microsoftonline.com/redacted/oauth2/v2.0/token的請求,即使我清除了 js memory 和所有緩存/會話/本地,Microsoft 后端也可以將我認證為同一用戶貯存

此請求如何獲取有效代碼/ code_verifier以發送到授權服務器,以便在不重新輸入憑據的情況下為用戶取回訪問令牌?


更多細節:

以下確實需要我重新輸入我的憑據(正如我所期望的那樣):

  • 私人/隱身標簽
  • 關閉瀏覽器並重新打開
  • 在同一台計算機上使用不同的瀏覽器

以下不需要我重新輸入我的憑據,可以靜默登錄:

  • 在清除本地 state 的新選項卡中進行身份驗證
  • 在具有清除本地 state 的同一瀏覽器的新 window 中進行身份驗證
  • 刷新選項卡並清除本地 state

我希望這 3 個“非”場景需要憑據,但它們不需要。 如果瀏覽器不保留任何本地 state,如何進行身份驗證?

Microsoft 庫正在存儲 AAD 擁有的 cookie,而不是我的應用程序。 回答 github

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM