【发布时间】:2020-09-10 05:31:15
【问题描述】:
致assign a LUIS azure accounts to an application,如果我使用来自here 的令牌,我可以看到帖子已成功执行,但如果我使用Azure Active Directory 应用程序生成令牌,API 帖子会返回错误。
{ "error": { "code": "BadArgument", "message": "您无权执行此操作" } }
要重现该问题,您可以使用 Active Directory Authentication Library 生成令牌,然后使用 Microsoft Azure Cognitive Services LUIS Authoring API 将 LUIS azure 帐户分配给 LUIS 应用程序。复制问题的另一种方法是使用测试控制台here 来模拟问题(当然使用您自己的数据)。
也许我缺少一些我需要授予的权限,但我找不到允许this LUIS API 的权限的方法。任何建议表示赞赏。
更新: 在文档中,它说要从此 website 获取 Azure 资源管理器令牌,所以我是否应该以某种方式将其用于编程目的(以避免登录 LUIS 门户)?这很令人困惑,因为文档说令牌过期,所以对我来说听起来不对。或者我上面使用 Active Directory 库动态生成令牌的方法是正确的策略吗?
【问题讨论】:
-
您是 LUIS 应用的所有者还是合作者?
-
我是 LUIS 应用的所有者
-
您对自己拥有的任何其他应用程序是否也有同样的体验?另外,您为 Ocp-Apim-Subscription-Key 传递了什么值?
-
是的,我的所有其他应用程序也会发生这种情况,使用 LUIS(创作)订阅密钥,如果我使用来自 here 的令牌,那么它会按预期工作,但如果我从azure AD app 然后我收到此错误 { "error": { "code": "BadArgument", "message": "You don't have permission to perform this action" } }
-
只是为了确保您输入了正确的凭据,在 API 调用中,授权:Bearer {token} / Ocp-Apim-Subscription-Key:创作密钥。由于您正在为 Azure AD 应用程序生成令牌,因此该 Azure AD 应用程序必须有权访问创作密钥。
标签: oauth-2.0 azure-active-directory azure-resource-manager azure-language-understanding azure-sdk-.net