【问题标题】:Project Online Authenticate OData Feed using Azure AD and PostmanProject Online 使用 Azure AD 和 Postman 对 OData 源进行身份验证
【发布时间】:2022-10-13 09:57:26
【问题描述】:

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

【问题讨论】:

    标签: oauth-2.0 azure-active-directory postman odata project-online


    【解决方案1】:

    在在线项目中分配权限

    打开服务器设置/管理组。 选择您希望允许访问 OData Feed 的组,并确保它在 Global Permissions 中的 General 下勾选 Access Project Server Reporting Service。

    配置 Azure 广告

    在 Azure 中注册新应用。

    定义重定向 Uri。 (邮递员请使用https://oauth.pstmn.io/v1/callback

    定义客户端密码

    确认您拥有 Microsoft Graph 的 User.Read 权限。请注意,我阅读的一些论坛帖子建议从 Sharepoint 添加 ProjectWebAppReporting 权限,但我没有发现我需要它。

    添加范围。我叫我的 ProjectOnline.Read,但我认为你怎么称呼它并不重要。

    配置邮递员

    按照以下内容创建一个新请求并定义一个获取查询。 https://[您的域].sharepoint.com/sites/pwa/_api/ProjectData/Projects
    这需要一个项目列表。

    在 params 下,如果您想要 Json 输出,请添加一个新键 accept = application/json。默认为 XML

    在授权选项卡下,选择以下选项:

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

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

    请注意,如果您有兴趣查看令牌包含的内容,可以在https://jwt.io/ 对其进行解码

    此时,按发送并尝试运行您的查询。您可能会收到以下错误: {"error_description":"引发了 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' 类型的异常。"}

    我会告诉您然后转到“高级选项”选项卡并将您的根共享点 URL [https://[Your Domain].sharepoint.com] 作为资源放入,从而为您节省数小时的挫败感。

    获取一个新的访问令牌,然后再次按发送,您应该在响应中以 Json 结束,如下所示。

    希望您能做到这一点并证明可以在 Excel/Power BI 生态系统之外对 Project Online OData 源进行身份验证。我将由您决定如何以您选择的应用程序/语言实现此身份验证。

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 1970-01-01
      • 2017-04-08
      • 2021-07-29
      • 1970-01-01
      相关资源
      最近更新 更多