0

我有一个完全可用的 Cortana 技能,我尝试通过以下链接包含 Oauth 身份验证:

为 Microsoft 的身份服务器配置身份验证

但它不起作用,它只是没有显示任何内容,并允许用户在没有身份验证的情况下使用该技能。除了上面链接中的配置之外,我还需要在 bot 服务中实现什么代码吗?我会很感激你的帮助。

谢谢!

更新 1

这就是我设置 Cortana Oauth 详细信息的方式,现在使用 Microsoft 文章中的示例:

Cortana Oauth 设置

据我了解,在显示登录请求的代码中不应该做任何其他事情,只有用于检索身份验证令牌的代码,但没有任何显示,技能立即开始运行。

我已经尝试使用 GetTokenDialog 和 SendOAuthCardAsync 进行身份验证并且它可以工作,但是当我收到确认码以完成身份验证时,如果我对 Cortana 说,“她”无法识别代码,如果我输入它相反,它可以工作,但 Cortana 停止说话。

我也关注了这个视频,这正是我所做的:

在 Cortana 技能中构建 2017 身份验证

我需要更新 botBuilder SDK 还是什么?我在 3.15.2.2。我只是从来没有得到登录提示。谢谢!

解决方案

它变成了微软的错误;由于一切正常,我决定删除 Cortana 频道并从头开始重新创建它,现在出现登录提示,谢谢!

4

1 回答 1

-1

Bot oauth 和 cortana oauth 的工作方式略有不同。

首先,确保您已通过 azure 门户或 botframework 在 Cortana 频道配置中打开“Cortana 应管理我的用户身份”。然后填写所有字段(我们正在更新网站文档,因为它不正确)。除非您在资源调用之前发送 OAuth 卡,否则不要选择“需要时登录”。

然后,当您调用您的技能时,应显示 OAuth 对话框。如果不是,请不要忘记,如果您成功登录一次,Cortana 将缓存您的身份验证令牌。您可以通过 Cortana 笔记本断开技能来清除令牌。

我在 node 和 c# 中有示例。 https://github.com/bw-kforce-ms/CortanaSkillsWIP/tree/master/Consumer/Node/OAuth2Example

于 2018-10-21T20:15:52.540 回答