Power Apps-使用Azure Active Directory进行OAUTH 2身份验证

时间:2020-09-01 09:03:14

标签: authentication oauth-2.0 azure-active-directory powerapps

我有一个实现OAUTH Azure Active Directory身份验证的API。为此,我创建了2个App Registration:客户端和后端。

我成功实现了能够调用API的Logic App,因此我确信身份验证流程可以正常工作。

enter image description here

现在,我需要从Power Apps调用相同的API,但不幸的是我遇到了错误。 首先,我创建一个自定义连接器 enter image description here

然后,我以这种方式配置“安全性”部分: enter image description here

  • 客户ID :这是客户应用注册的ID
  • 客户端密码:这是客户端应用程序注册的密码
  • 登录网址:从Microsoft登录网址
  • 租户ID :这是应用程序注册的租户ID
  • 资源URL :我不知道该放在哪里,我尝试使用后端应用程序注册的ID
  • 范围:这不是强制性的,但我尝试将后端应用程序注册的应用程序ID URI设置为 /。default

当我尝试在向导末尾创建连接时 enter image description here 我收到此错误

AADSTS650052:该应用需要访问您的组织“ a467080d-9919-4241-a48f-8b0002685a59”尚未订阅或启用的服务(“ http://rts.powerapps.com”)。请与您的IT管理员联系,以查看服务订阅的配置。

“我的客户端应用注册”具有以下API权限 enter image description here

更新

按照@ChauncyZhou的建议,并将自定义连接器生成的重定向URL添加到客户端应用程序注册中,我完成了自定义连接器和连接的创建过程。

当我测试API时,出现401错误:

观众'97e ********************** 9c9'无效

其中97e ********************** 9c9是后端应用程序注册ID。配置自定义连接器时是否犯了一些错误? API与Postman和Logic App配合良好。

1 个答案:

答案 0 :(得分:2)

从Power Apps调用相同的API时,无需添加 Powerapps运行时服务权限。因为您正在调用自己的api,而不是在调用通用数据服务api

由于您添加了此权限,但是您的组织尚未订阅或启用,因此会导致错误。因此,对于您的问题,您只需要删除PowerApps Runtime Service权限即可。