首页 > 解决方案 > 使用从桌面访问的 MS Graph 重置另一个用户的登录

问题描述

我在桌面应用程序中使用 MS Graph,因此我在表单中托管了一个 Web 浏览器,供用户进行初始登录。这一切都很好,我可以完全使用 MS Graph。

我遇到的问题是,如果我们需要使用其他用户的帐户,似乎没有办法重置登录。如果您尝试使用托管的 Web 浏览器再次登录,它将直接通过并允许同一用户。

为其他用户重置它的唯一方法似乎是进入 IE 并删除历史记录/缓存。然后登录屏幕将要求用户再次登录。重置缓存似乎有点极端。

那么这是执行此操作的唯一方法,还是我可以在 MS Graph API 调用中更改某些内容来告诉它重置?

标签: azure-active-directorymicrosoft-graph-api

解决方案


prompt=login您可以通过添加到登录请求来强制重新认证:

提示(可选)

指示所需的用户交互类型。此时唯一有效的值是loginnoneselect_accountconsent

  • prompt=login将强制用户在该请求上输入他们的凭据,否定单点登录。
  • prompt=none恰恰相反——它将确保不会向用户呈现任何交互式提示。如果无法通过单点登录以静默方式完成请求,Microsoft 标识平台终结点将返回错误。
  • prompt=select_account将用户发送到一个帐户选择器,其中将显示会话中记住的所有帐户。
  • prompt=consent将在用户登录后触发 OAuth 同意对话框,要求用户授予应用程序权限。

推荐阅读