【问题标题】:How to completely sign out a user using Oauth Prompt?如何使用 Oauth Prompt 完全退出用户?
【发布时间】:2021-05-02 04:47:43
【问题描述】:

我一直在关注 Oauth 提示示例 Oauth Sample。当我正确登录并获得令牌时,它工作得很好。但是,当用户使用错误的凭据登录时,我正在处理用例。我正在使用await botAdapter.SignOutUserAsync(innerDc.Context, ConnectionName, null, cancellationToken); 将用户注销,并且它可以工作,因为 Oauth 再次收到提示。但是,当用户再次单击登录按钮时,它会再次使用错误的凭据(即由于浏览器缓存而登录的凭据相同)并且不允许用户使用其他帐户。我希望优雅地注销用户,以便他可以选择另一个帐户登录。我知道如果我将其添加到正确的租户(将我的机器人添加到正确的 AD 身份),它甚至不会允许错误的电子邮件/凭据通过,但这是我现在必须解决的问题。我不知道这是否是有意的,但注销只会破坏令牌并不会将您从 Microsoft 在线注销。 谢谢

【问题讨论】:

  • 接受/投票支持更大的 Stack Overflow 社区和任何有类似问题的人。如果您觉得我的回答足够,请“接受”并点赞。如果没有,请告诉我我还能提供哪些帮助!

标签: c# botframework bots


【解决方案1】:

鉴于SignOutUserAsync 方法仅将用户从令牌服务器中注销,我猜您将需要实现一个自定义方法来处理完全注销。这个doc 讨论了发送退出请求,应该作为如何设置的指导。如果这不是完美匹配,菜单树中会列出其他选项。

您可以代替依赖SignOutUserAsync 方法,而是实现此功能。

【讨论】:

  • 是的,我认为它不允许您退出 Microsoft 身份平台。只是机器人,所以如果您再次登录,它只会让您直接进入机器人。我刚刚在单击注销按钮时创建了一个额外的事件,该事件将在直接传入的活动中被捕获,并在我没有直接从机器人获得任何东西后使用 IDP 注销文档触发login.microsoftonline.com/common/oauth2/…。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
相关资源
最近更新 更多