给定一个通过 Microsoft 的msal.js使用 Oauth 2.0授权代码流的应用程序,我通过提供我的凭据登录。然后我完全清除浏览器的状态、缓存、本地/会话存储,并刷新页面,以便单页应用程序不知道我已登录,但我仍然使用 Microsoft 后端登录。
当我启动另一个登录时,它可以静默进行,无需重新询问我的凭据。
显然,通过对 的请求https://login.microsoftonline.com/redacted/oauth2/v2.0/token
,即使我清除了 js 内存和所有缓存/会话/本地存储,Microsoft 后端也可以将我认证为同一用户
此请求如何获取有效代码/ code_verifier以发送到授权服务器,以便在不重新输入凭据的情况下为用户取回访问令牌?
更多细节:
以下确实需要我重新输入我的凭据(正如我所期望的那样):
- 私人/隐身标签
- 关闭浏览器并重新打开
- 在同一台计算机上使用不同的浏览器
以下不需要我重新输入我的凭据,可以静默登录:
- 在清除本地状态的新选项卡中进行身份验证
- 在清除本地状态的同一浏览器的新窗口中进行身份验证
- 刷新选项卡并清除本地状态
我希望这 3 个“非”场景需要凭据,但它们不需要。如果浏览器不保持任何本地状态,如何进行身份验证?