如何解决Amazon Cognito作为团队中MSBotFramework的Bot通用OAuth2提供程序
我整理好了这个示例,以在Microsoft Teams中集成一个机器人:
https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/csharp_dotnetcore/46.teams-auth
好消息是,当使用Azure AD连接作为OAuth2登录时,它开箱即可正常工作。
我们使用Amazon Cognito用户池,出于明显的原因,为了调用查询和其他操作,我需要登录。因此,由于Cognito不在列表中,因此我尝试使用通用OAuth2提供程序配置另一个连接。
这些是我对通用提供程序的连接设置
出于明显的原因,我已经隐藏了实际的ID,但存在核心URL,如Cognito文档中所述。
我还在清单的有效域列表中添加了“ token.botframework.com”和“ * .amazoncognito.com”。
现在,当我单击“登录卡片”按钮时,弹出窗口打开,但是我在URL中遇到redirect_mismatch错误,就像这样
我已经查找了此错误的原因,并指出重定向URL必须与Cognito App Client中与提供的ID对应的至少一个回调URL匹配。
但是,在机器人的示例代码中,当直接处理OAuth提示时,我似乎看不到您在哪里指定了此类回调URL。
这里的任何巫师对此都有想法吗?我将非常感谢您提供的所有帮助。
谢谢!
编辑 根据要求,这是应用程序客户端的设置页面
考虑到这是一个MS Teams应用程序,我为流量设置了ngrok隧道,因此我将两个URL都放在其中以确保... localhost:3000实际上是ngrok.io隧道指向的地方。
这证明我们的托管用户界面从用户池中打开时实际上显示出来,并且位于localhost:3000 /
的redirect_uri解决方法
(在上面发表我的评论作为答案,因为它似乎已经解决了问题。)
在Azure Bot Service中使用内置的身份验证支持时,它将完全处理身份验证重定向。因此,您注册的重定向URL(Amazon Cognito中的“回调URL”?)应为https://token.botframework.com/.auth/web/redirect
。如Bot Framework documentation for adding authentication to a bot所示,这也是您在AAD上尝试使用的重定向URL。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。