Botframework-solutions: 支持无需授权或秘密的本地调试

创建于 2019-11-02  ·  3评论  ·  资料来源: microsoft/botframework-solutions

什么项目受到影响?

Microsoft.Bot.Builder.Skills

这是什么语言?

C#

发生什么了?

最近将 IWhitelistAuthenticationProvider 添加到 SkillController 和 SkillWebSocketAdapter 的更改可防止断开本地调试。

重现此问题的步骤是什么?

尝试在不指定 MicrosoftAppId 和 MicrosoftAppPassword 的情况下在本地运行 SkillsController 或 SkillWebSocketAdapter

你期待发生什么?

代码应支持无网络本地调试。 我当前的机器人项目支持这个,直到更新到最新版本。

你能分享任何日志、错误输出等吗?

任何屏幕截图或其他上下文?

建议的更改

  • 将建立 MsJWTAuthenticationProvider 和 Authenticator 的代码抽象为一个公共库,以避免重复并启用依赖注入
  • 更新 SkillController 和 SkillWebSocketAdapter 以采用 IAuthenicator 而不是 IWhitelistAuthenticationProvider。

最有用的评论

你好,

即使我们在不指定应用程序 ID 和应用程序密码的情况下尝试调试最新的技能示例项目时也面临同样的问题。 面临以下问题。

理想情况下,在创建 azure 资源之前,我们必须确保它使用机器人模拟器工作。
在早期版本中,我们曾经通过将 app id 和 app secret 留空来测试它。 请在这里帮忙

ArgumentNullException:值不能为空。
参数名称:microsoftAppId

Microsoft.Bot.Builder.Skills.Auth.MsJWTAuthenticationProvider..ctor(string microsoftAppId, string openIdMetadataUrl) in MsJWTAuthenticationProvider.cs,第 20 行

所有3条评论

你好,

即使我们在不指定应用程序 ID 和应用程序密码的情况下尝试调试最新的技能示例项目时也面临同样的问题。 面临以下问题。

理想情况下,在创建 azure 资源之前,我们必须确保它使用机器人模拟器工作。
在早期版本中,我们曾经通过将 app id 和 app secret 留空来测试它。 请在这里帮忙

ArgumentNullException:值不能为空。
参数名称:microsoftAppId

Microsoft.Bot.Builder.Skills.Auth.MsJWTAuthenticationProvider..ctor(string microsoftAppId, string openIdMetadataUrl) in MsJWTAuthenticationProvider.cs,第 20 行

那么当您尝试启用技能的本地调试时,您能告诉我您如何配置 VA 端以在本地使用该技能吗? 我问的原因是因为为了与技能交谈,在当前的实现中,您必须指定技能的应用程序 ID。 否则技能对话框将不起作用。 只有当我了解您的全部情况时,我才能为您提供解决方案。

谢谢。

@lzc850612添加了上下文 PR #2679

此页面是否有帮助?
0 / 5 - 0 等级