You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SharePoint ProjectWebApp API调用返回403错误的原因排查求助

问题:调用Project Server API返回403未授权错误

已按我方租户配置完成应用注册,通过msal4j的Username/Password流成功获取令牌,但调用GET https://{tenant}.sharepoint.com/sites/pwa/_api/ProjectServer/Projects接口时,客户环境返回以下403错误:

{
"odata.error": {
    "code": "-2147024891, Microsoft.Office.Project.Server.Exceptions.ProjectServerUnauthorizedAccessException",
    "message": {
        "lang": "en-US",
        "value": "User <customercontent></customercontent> could not be authenticated because logon permission has not been granted"
    }
}
}

已确认以下配置与我方租户一致:

  • 应用注册已添加Project.Read、Project.Write、ProjectWebApp.FullControl、User.Read权限,且已获得管理员同意;
  • 认证设置已允许"public client flows";
  • 解码令牌后可见scp包含上述权限;
  • 用于生成令牌的用户是Project Web App站点管理员。

环境差异:客户配置了条件访问策略,要求账号在内部网络才能绕过2FA,但已成功获取令牌,暂不认为是该原因。

请问还可能存在哪些遗漏的配置或问题?


可能的排查方向
  • 检查Project Server层面的登录权限:即便用户是PWA站点管理员,也需确认在PWA设置的「管理用户」中,该用户的权限集是否包含登录Project Server的权限,或者是否直接分配了允许登录的权限项。
  • 验证权限类型与流的匹配性:Username/Password属于委派流,需确认应用注册的权限是委派权限而非应用权限;同时检查权限是否针对客户的PWA站点/Project Server实例正确授权。
  • 核对PWA站点身份验证模式:若客户PWA启用了ADFS或自定义声明身份验证,需确认令牌中的身份声明(如UPN、SID)是否与站点要求的格式匹配,避免身份映射失败。
  • 检查令牌核心字段有效性:解码令牌后确认aud(受众)字段为https://{tenant}.sharepoint.com或https://projectserver.microsoft.com,tid(租户ID)与客户租户一致,防止受众不匹配导致权限校验失败。
  • 确认Project Server安全组成员身份:检查用户是否加入了Project Server的Project Server Administrators安全组,仅PWA站点管理员权限可能不足以访问Project Server API,需对应服务器层面的安全组权限。
  • 排查条件访问的API层限制:部分策略可能在API调用阶段附加限制(如仅允许指定客户端ID、受信任IP范围),可尝试在客户内部网络测试API,排除该隐性限制。
  • 检查PWA站点权限继承:若客户自定义了PWA站点权限,需确认站点级权限是否正确继承到Project Server API端点,避免局部权限拦截API访问。

内容的提问来源于stack exchange,提问作者Scott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:11:09