使用 Azure 应用服务 EasyAuth 进行机器人身份验证

Posted

技术标签:

【中文标题】使用 Azure 应用服务 EasyAuth 进行机器人身份验证【英文标题】:Bot authentication with azure app service EasyAuth 【发布时间】:2020-10-21 22:50:47 【问题描述】:

我正在努力让我的团队机器人在启用身份验证的情况下使用我的 azure 应用服务。

这是我的设置: 我有一个团队机器人,可以对团队中的某些事件做出反应。我还有一个 azure web 应用程序,它有一个端点 /api/messages 来监听机器人消息。有一个 Azure Bot Channels Registration 将这两者连接在一起。

在我在我的 Web 应用程序中启用 EasyAuth 以使用 Azure AD 进行身份验证之前,一切正常(我需要这个,因为此 Web 应用程序中还有其他端点需要保护)。启用 Web 应用中的身份验证后,机器人消息不会到达 Web 应用,而且我在日志中也找不到任何错误。

我尝试在我的机器人频道注册中添加不同的 OAuth 连接设置,并在网络应用的身份验证设置中添加允许的令牌受众,但我还没有找到可行的设置。

谁能告诉我这应该如何配置?提前谢谢你。

【问题讨论】:

检查sample 是否有帮助。 【参考方案1】:

请参阅 Azure 应用服务身份验证/授权(简易身份验证)指南:https://github.com/cgillum/easyauth

管理 API 设置:https://github.com/cgillum/easyauth/wiki

高级应用设置:https://github.com/cgillum/easyauth/wiki/Advanced-Application-Settings

如果您需要更多详细信息,我强烈建议您阅读官方文档:https://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization

【讨论】:

谢谢,但这太含糊了。我对 EasyAuth 的工作原理有一个大致的了解。我无法配置的是如何在启用 EasyAuth 时公开机器人使用的消息端点。在这种情况下,来自机器人的调用没有到达服务。我需要知道究竟需要在应用服务的高级应用设置或机器人通道注册设置中设置什么 @Taras - 我正在寻找同样的东西,如果有人可以帮忙吗?

以上是关于使用 Azure 应用服务 EasyAuth 进行机器人身份验证的主要内容,如果未能解决你的问题,请参考以下文章

在启用了EasyAuth的App Services中限制对托管身份(属于组)的访问

Azure 条件访问不适用于令牌获取请求?

Azure Google身份验证获取用户个人资料信息

azure 移动应用程序身份验证外部重定向 url

Easy Auth 对某些人返回空响应

当客户端在 /.auth/login/aad 端点上发布访问令牌时,为啥 EasyAuth 返回 401 Unauthorized 状态?