Oauth 2 通用提供者模板示例

dan*_*edy 3 azure oauth-2.0 botframework

查看 Azure 门户中可能的连接提供程序,我确定我的用例需要“OAuth 2 通用提供程序”(而不是“通用 OAuth 2”提供程序)。但是,我似乎找不到任何有关模板应如何工作或将哪些变量传递给模板的文档。

我正在尝试设置与 Azure DevOps 的连接。首先,我尝试使用“Generic OAuth 2”提供程序,测试流程正常运行,直到 botframework 的令牌服务收到来自 Azure DevOps 的授权代码。它会将我重定向到“错误请求”页面。我可以从重定向的 URL 中获取授权代码,并按照 Azure DevOps 文档的描述构建令牌调用,并且它可以正常工作,所以我猜测这是 botframework 的令牌服务如何调用 Azure DevOps 的问题,因此我需要使用“OAuth 2 通用提供程序”,因为它允许我指定令牌服务如何调用 Azure DevOps。

理想情况下,这将添加到文档中的某个位置,或者更好的是作为 Azure 门户页面上的提示。

编辑:添加了页面的屏幕截图。您在该表单的“模板”字段中放置了什么?

具体来说,我在此表单的“模板”字段中输入什么内容?

dan*_*edy 6

我联系了该表格背后的团队。任何在谷歌上搜索类似内容的人都可以在这里发表评论。

这些是对我有用的值,您需要设置自己的 id/secrets/scopes

  • 范围列表分隔符:,
  • 授权URL模板:https://app.vssps.visualstudio.com/oauth2/authorize
  • 授权 URL 查询字符串模板:?client_id={ClientId}&response_type=Assertion&state={State}&scope={Scopes}&redirect_uri={RedirectUrl}
  • 令牌 URL 模板:https://app.vssps.visualstudio.com/oauth2/token
  • 令牌 URL 查询字符串模板:?
  • 令牌主体模板:client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={ClientSecret}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&assertion={Code}&redirect_uri={RedirectUrl}
  • 刷新网址模板:https://app.vssps.visualstudio.com/oauth2/token
  • 刷新 URL 查询字符串模板:?
  • 刷新正文模板:client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={ClientSecret}&grant_type=refresh_token&assertion={RefreshToken}&redirect_uri={RedirectUrl}