是否有不需要client_id的 OAuth 流?



我创建了一个使用bot框架的Golang端口构建的Microsoft Teams机器人。它是一个多租户的机器人,住在我的基础设施中。

很容易将机器人添加为";Teams Application;然而,通过从市场上(免费(选择它,它需要额外的Microsoft Graph权限才能正常工作。具体阅读MS团队频道/群聊的标题。

这对用户来说似乎是一个挑战,因为几乎没有人——即使是那些"IT人员"——能够正确添加所需的权限,即使有文档。

我一直在亲自帮助他们,但这不是一个商业产品,所以从长远来看是不可行的。

我想找到一个OAuth2流,它将允许特权用户使用他们的Azure Tenant进行身份验证,并为我的应用程序授予必要的权限来完成它的任务。或者,在安装机器人之前创建客户端注册。

每个OAuth2流都要求我在发出请求之前拥有(或知道(我的client_id。考虑到它在用户Tenant中,我无法访问它;不过,用户可以针对他们的Azure AD租户进行身份验证,因此他们必须接收一个承载令牌,该令牌将允许他们访问Azure应用程序以创建或更新权限。

有机会使用OAuth 2.0客户端凭据。此授权在RFC 6749中指定。这笔拨款用于访问网络托管资源。此资源将根据应用程序的标识直接标识该应用程序。在服务器到服务器的通信中,我们可以使用OAuth 2.0。这可以称为";服务帐户";或";Daemons";。

Microsoft身份平台和OAuth 2.0客户端凭据流

最新更新