我有一个可以正常工作的Cortana技能,并且我尝试通过以下链接来包括Oauth身份验证:
Configure authentication for Microsoft's identity server
但是它不起作用,只是不显示任何内容,并且允许用户未经身份验证即可使用该技能。除了上面链接中的配置之外,我还需要在bot服务中实现任何代码吗?感谢您的帮助。
谢谢!
更新1
这是我现在使用Microsoft文章中的示例设置Cortana Oauth详细信息的方式:
据我了解,登录请求显示的代码中无需执行任何其他操作,只需检索auth令牌的那段代码,但未显示任何内容,该技能立即开始运行。
我尝试将身份验证与GetTokenDialog和SendOAuthCardAsync一起使用,并且可以正常工作,但是当我收到确认代码以完成身份验证时,如果我对Cortana说,“她”无法识别该代码,并且我改用它输入,但可以,但Cortana停止讲话。
我也关注了这个视频,这正是我所做的:
Build 2017 Authentication in Cortana Skills
我需要更新botBuilder SDK还是其他?我是3.15.2.2。我只是从来没有得到登录提示。谢谢!
解决方案
它变成了Microsoft错误;既然一切正常,我决定删除Cortana频道并从头开始重新创建它,现在显示登录提示,谢谢!
答案 0 :(得分:-1)
Bot oauth和cortana oauth的工作略有不同。
首先,请确保您通过天蓝色门户网站或botframework在Cortana频道配置上启用了“ Cortana应该管理我的用户的身份”。然后填写所有字段(由于不正确,我们将立即更新网站文档)。除非您在资源调用之前发送了OAuth卡,否则请不要选择“需要时登录”。
然后,当您调用技能时,将显示OAuth对话框。如果不是,请不要忘记,如果您成功登录一次,Cortana将缓存您的身份验证令牌。您可以通过通过Cortana笔记本断开技能来清除令牌。
我在node和c#中有示例。 https://github.com/bw-kforce-ms/CortanaSkillsWIP/tree/master/Consumer/Node/OAuth2Example