【发布时间】:2021-10-21 08:53:04
【问题描述】:
我之前构建了一些自定义连接器,但由于某种原因,在获取自定义连接器以针对我编写的 api 进行身份验证时遇到了实际问题。
API 是用 .netcore 5 编写的,作为 WebApp 托管在我尝试连接的同一租户中。我检查了身份验证设置,并且 ClientId 指向下图中的 37008370 clientid guid。
我已使用 blazor 应用程序连接到此 API,因此我认为身份验证设置正确。
当我尝试为自定义连接器设置身份验证时,虽然收到以下响应
{ "content-length": "0", "date": "Wed, 20 Oct 2021 10:11:51 GMT", "request-context": appId=cid-v1:4e1e4b6a-ace8-48e9-8121-546d6e834953", "www-authenticate": "Bearer error=\"invalid_token\", error_description=\"The audience 'api://37008370-*********' is invalid\"", "x-ms-apihub-cached-response": "false", "x-powered-by": "ASP.NET"}
我认为我已经正确设置了所有内容,但看不到哪里出错了。
任何帮助表示赞赏。
谢谢
斯图尔特
【问题讨论】:
-
您是否尝试过将 clientId 作为应用程序 ID Uri(来自门户),即; clientId:api://3700xxx-xxx 在您的应用设置中。
-
您的意思是直接针对 API 进行身份验证吗?从我读过的文档来看,这不是正确的方法。
-
它确实有效。这样做有什么缺点?
-
据我所知,我认为这种方式没有任何缺点。实际上在后端取决于您使用的令牌版本,它在某些情况下会添加 api:// 前缀.
-
如前所述发布使用客户端 ID 的答案。如果有帮助,您可以接受它作为答案:) 要将答案标记为已接受,请单击答案旁边的复选标记以将其从灰色切换为已填充。
标签: azure-active-directory power-automate power-automate-custom-connector