如何在.NET版Bot Framework Connector中修改openIdMetadata URI?
能否在.NET版Bot Framework Connector中修改openIdMetadata URI?
当然可以!你提到Node.js里有两种简单的实现方式,其实.NET版本的Bot Framework Connector也能做到,而且官方同样有推荐的规范做法,我给你拆解说明:
一、官方认可的常规配置方式(推荐)
这和Node.js里通过构造配置项传入的思路完全一致,不需要改动源码,直接在创建连接器实例时指定自定义的openIdMetadata URI即可,不同SDK版本的写法略有区别:
Bot Framework SDK v4(主流版本)
如果你用的是v4版本的CloudAdapter,可以通过BotFrameworkAuthenticationOptions来配置:
// 初始化认证配置 var botAuthOptions = new BotFrameworkAuthenticationOptions { MicrosoftAppId = "你的应用GUID", MicrosoftAppPassword = "你的应用密码", OpenIdMetadata = "你的自定义openIdMetadata地址" }; // 创建CloudAdapter实例 var adapter = new CloudAdapter(botAuthOptions);
Bot Framework SDK v3(旧版本)
如果还在使用v3的ChatConnector,直接在实例化时设置对应属性就行:
var connector = new ChatConnector { AppId = "你的应用GUID", AppPassword = "你的应用密码", OpenIdMetadata = "你的自定义openIdMetadata地址" };
二、类似Node.js修改源码默认值的方式(不推荐)
因为.NET是编译型语言,没法像JS那样直接修改源码文件来改默认值。如果非要修改全局默认行为,你可以通过继承官方连接器类、重写相关属性的方式实现,但这种方式会增加维护成本,而且一旦SDK版本更新,你的自定义逻辑可能需要同步调整,所以非常不推荐这种做法,优先用上面的配置方式就好。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

