oauth-2.0 项目联机使用Azure AD和Postman验证OData源

xbp102n0  于 2022-10-31  发布在  Postman
关注(0)|答案(1)|浏览(221)

我最近花了大量的时间来确定如何使用Azure AD和Postman验证Project Online的OData提要。在不同的论坛上有很多关于这方面的帖子,但我无法找到一个帖子给出完整的工作示例。以下是我使用的方法。

sr4lhrrt

sr4lhrrt1#

联机分配项目权限

打开“服务器设置”/“管理组.”选择要允许其访问OData源得组,并确保选中了“全局权限”中“常规”下得“访问Project Server Reporting Service.”x1c 0d1x

配置AZURE AD

在Azure中注册新应用程序。

定义重定向URI。(对于 Postman ,请使用https://oauth.pstmn.io/v1/callback

定义客户端密码

配置 Postman

创建一个新的请求并定义一个Get查询沿着如下所示。https://[Your Domain]. sharepoint.com/sites/pwa/_api/ProjectData/Projects
这要求项目列表。
在params下,如果需要Json输出,则添加一个新键accept = application/json。默认值为XML x1c4d 1x
在“授权”选项卡下,选择以下选项:

  • 类型= OAuth 2.0
  • 访问令牌=可用令牌
  • 标头前缀=载体
  • 令牌名称= [所需的任何名称]
  • 授权类型=授权
  • 代码回调URL = [勾选“使用浏览器授权”。这将默认为https://oauth.pstmn.io/v1/callback]
  • 身份验证URL = https://login.microsoftonline.com/common/oauth2/v2.0/authorize
  • 访问令牌URL = https://login.microsoftonline.com/common/oauth2/v2.0/token
  • 客户端ID = [来自Azure AD]客户端密码= [来自Azure AD]
  • 范围= https://[您的租户名称]. sharepoint.com/ProjectWebAppReporting.Read
  • 状态= [任何您想要的]
  • 客户端身份验证=发送正文中的客户端凭据。

如果您正确输入所有这些信息,然后按“获取新的访问令牌”,您应该看到浏览器打开,输入您的凭据,然后令牌应返回到Postman,如下面的屏幕截图所示。


指令集

请注意,如果您有兴趣查看令牌包含的内容,可以在https://jwt.io/处对其进行解码
此时,请按Send,运行查询并确认Body包含odata输出。

**编辑注意:**我在确定和解决遇到的多个障碍时,对这个答案进行了多次调整。最后发现它非常简单,但要做到这一点,关键的概念是Scope参数需要定位到PWA站点。即https://[您的租户名称]. sharepoint.com.au/user.read

相关问题