UWP应用Azure AD认证:已保存用户凭据的位置及移除方法咨询
UWP应用中Azure AD持久化凭据的存储位置与清除方法
一、凭据存储位置
当你在UWP应用中集成Azure AD认证并勾选“保持登录”选项时,用户的持久化凭据(主要是刷新令牌、账户信息等)会存储在Windows凭据管理器的「Web凭据」区域:
- 操作路径:打开控制面板 → 用户账户 → 凭据管理器 → 点击「Web凭据」,就能找到以Azure AD租户ID、应用客户端ID或关联域名命名的条目,这些就是保存的登录凭据。
- 若你的应用启用了Windows Hello作为凭据保护方式,相关加密密钥会存储在系统的**本地安全机构(LSA)**中,这是系统级的安全存储区域,无法直接手动查看或修改。
二、移除已保存用户并切换登录的方法
方法1:通过应用内代码调用MSAL API清除
如果你的应用是基于Microsoft Authentication Library (MSAL) 实现的Azure AD认证(这是UWP集成Azure AD的标准方案),可以直接通过API移除指定账户:
- 获取当前已登录的所有账户:
var accounts = await _publicClientApp.GetAccountsAsync();
- 筛选并移除目标账户(比如按用户名匹配):
foreach (var account in accounts) { if (account.Username == "需要移除的用户名") { await _publicClientApp.RemoveAsync(account); break; } }
- 清除完成后,再次调用登录方法,就会引导用户重新输入新账户的凭据。
方法2:手动在系统凭据管理器中删除
无需代码修改的话,也可以直接手动清除:
- 打开凭据管理器 → 找到对应Azure AD应用的Web凭据条目 → 右键点击选择「删除」。
- 删除后重启应用,点击登录按钮就会回到正常登录流程,允许用户使用其他账户登录。
内容的提问来源于stack exchange,提问作者Piumi ganegoda
相关产品推荐
相关产品推荐

