【问题标题】:Requesting an access token for an MSTeams bot为 MSTeams 机器人请求访问令牌
【发布时间】:2022-01-19 16:54:06
【问题描述】:

我正在尝试获取一个 accessToken 以在我自己定制的机器人中使用。我的请求基于我正在尝试构建的以下内容:

https://docs.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-connector-authentication?view=azure-bot-service-4.0

具体是这个要求:

POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=MICROSOFT-APP-ID&client_secret=MICROSOFT-APP-PASSWORD&scope=https%3A%2F%2Fapi.botframework.com%2F.default

我在弄清楚我的 client_secret 和 client_id 到底是什么以及我应该从哪里提取它时遇到了问题。我尝试了两种不同的方法,但越深入,我就越困惑。

首先,我尝试使用从 Visual Studio Teams toolkit 创建的基本 hello world 机器人,这是一种非常 hacky 的方法,但我只是将 localsetting 文件中定义的 botEndpoint 更改为指向我的自定义机器人正在侦听的服务。

"bot": {
        "skipNgrok": true,
        "botDomain": "domain",
        "botEndpoint": "bot endpoint",
        "botId": "id",
        "botPassword": "password",
        "botAadObjectId": "AadId"
    }

然后我刚刚发布了这个机器人,我可以看到每个请求,但是当我尝试使用此处生成的 botPassword 和 botId 来尝试请求 accessToken 时,我只收到 400 Bad request 错误作为响应。

从这里我尝试将客户端 ID 替换为我可以在 Azure 应用注册中看到的以下 ID:应用程序(客户端)ID/对象 ID/目录(租户)ID。

对于其中的每一个,我还尝试向应用注册添加一个新的密钥,并在工具包生成的密钥上使用这个密钥,我只收到 400 或 404 错误,其中 404 来自密钥我在应用程序注册中生成的(我假设这与它使用的特殊字符有关)

从这里我尝试将 register a bot 作为 azure 内部的资源,并希望从那里开始,而不是让工具包为我生成它。我尝试在这里使用 Microsoft App ID 和 App Tenant ID 作为客户端 ID,同时还生成新的密钥并使用它们,但我仍然无法得到回复。

我这里有什么明显的遗漏吗?

【问题讨论】:

  • @AP01 正确,看看是否正确。
  • 如果这解决了您的问题,请接受答案,以便其他开发人员也能更好地了解。

标签: azure botframework microsoft-teams


【解决方案1】:

MicrosoftAppId 是与 Azure Bot 资源对应的 clientId。你可以在 Azure Bot 的设置下的配置刀片下找到它。 MicrosoftAppPassword 是您的密钥,通常存储在您创建 Azure 机器人资源时在同一资源组中创建的密钥保管库中。根据您的帐户类型和访问权限,您可以尝试从密钥保管库retrieve the key

如果您无法通过这种方式获取密钥,您也可以使用 Azure CLI 按照deploy a new multi-tenant bot 的说明进行操作。按照这些说明操作时,您将提供自己的密码,Azure 将在其响应之一中为您提供 AppId。然后,您可以在 REST 调用中使用这些值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 2013-02-17
    • 2020-07-05
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 2011-10-25
    相关资源
    最近更新 更多