0

我正在开发一个于 2021 年 1 月 20 日在 Azure AD 中注册的应用程序(通过“应用程序注册”页面),它使用 SharePoint REST API(_api/Web/SiteUsers 等)来检索用户信息(来自在线共享)。使用我当时获得的租户 ID、应用程序 ID 和客户端密码,该应用程序过去和现在都可以正常工作。几天前(2021 年 4 月 9 日),我在 Azure 中注册了第二个应用程序,以向同事展示如何设置。使用该新应用程序的应用程序 ID 和客户端密码(相同的租户 ID),当我提交对 _api/Web/SiteUsers 的调用时应用程序失败并出现错误 403(使用两个应用程序 ID 调用 MS Graph API 都可以正常工作 - 它只是 SharePoint api失败的调用)。两个注册的应用程序都设置了相同的权限 - 当我并排比较它们时,我看不出有任何区别。他们都拥有 MS Graph API:(Directory.Read.All, Files.Read.All, Sites.Read.All, Group.Read.All) 和 SharePoint:(Sites.Read.All, User.Read.All) 的应用程序权限),以及 MS GraphAPI:User.Read 的委派权限。所有应用程序权限均已获得管理员同意。两者都使用密钥。我已经在 Azure 中直观地比较了两个注册的应用程序,并且看不到任何其他属性(应用程序 ID、客户端 ID、品牌名称、密钥除外)的任何差异。有谁知道最近是否发生了一些变化,这会导致较早的应用程序 ID 工作,而不是最近的应用程序 ID?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。Group.Read.All) 和 SharePoint:(Sites.Read.All, User.Read.All),以及 MS GraphAPI:User.Read 的委派权限。所有应用程序权限均已获得管理员同意。两者都使用密钥。我已经在 Azure 中直观地比较了两个注册的应用程序,并且看不到任何其他属性(应用程序 ID、客户端 ID、品牌名称、密钥除外)的任何差异。有谁知道最近是否发生了一些变化,这会导致较早的应用程序 ID 工作,而不是最近的应用程序 ID?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。Group.Read.All) 和 SharePoint:(Sites.Read.All, User.Read.All),以及 MS GraphAPI:User.Read 的委派权限。所有应用程序权限均已获得管理员同意。两者都使用密钥。我已经在 Azure 中直观地比较了两个注册的应用程序,并且看不到任何其他属性(应用程序 ID、客户端 ID、品牌名称、密钥除外)的任何差异。有谁知道最近是否发生了一些变化,这会导致较早的应用程序 ID 工作,而不是最近的应用程序 ID?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。我已经在 Azure 中直观地比较了两个注册的应用程序,并且看不到任何其他属性(应用程序 ID、客户端 ID、品牌名称、密钥除外)的任何差异。有谁知道最近是否发生了一些变化,这会导致较早的应用程序 ID 工作,而不是最近的应用程序 ID?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。我已经在 Azure 中直观地比较了两个注册的应用程序,并且看不到任何其他属性(应用程序 ID、客户端 ID、品牌名称、密钥除外)的任何差异。有谁知道最近是否发生了一些变化,这会导致较早的应用程序 ID 工作,而不是最近的应用程序 ID?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。而不是最近的?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。而不是最近的?Azure 和 SharePoint 之间是否存在某种同步延迟(3 天后问题仍然存在)?任何帮助/提示将不胜感激。先感谢您。

毫米

适用于 App ID 的解码令牌:

{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "nOo3ZDrODXEK1jKWhXslHR_KXEg",
  "kid": "nOo3ZDrODXEK1jKWhXslHR_KXEg"
}.{
  "aud": "00000003-0000-0ff1ce00-000000000000/iplatinum1.sharepoint.com@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "iss": "00000001-0000-0000-c000-000000000000@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "iat": 1618276524,
  "nbf": 1618276524,
  "exp": 1618363224,
  "identityprovider": "00000001-0000-0000-c000-000000000000@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "nameid": "7c331853-01ae-422b-bfe4-7df2d3fdbacf@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "oid": "fa4507cb-dfb1-4ed4-9d06-5fa9ffcb814e",
  "sub": "fa4507cb-dfb1-4ed4-9d06-5fa9ffcb814e",
  "trustedfordelegation": "false"
}.[Signature]

对于没有的人:

{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "nOo3ZDrODXEK1jKWhXslHR_KXEg",
  "kid": "nOo3ZDrODXEK1jKWhXslHR_KXEg"
}.{
  "aud": "00000003-0000-0ff1-ce00-000000000000/iplatinum1.sharepoint.com@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "iss": "00000001-0000-0000-c000-000000000000@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "iat": 1618276454,
  "nbf": 1618276454,
  "exp": 1618363154,
  "identityprovider": "00000001-0000-0000-c000-000000000000@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "nameid": "7307b725-738e-4b8c-b898-89486cff95de@55379f90-a2a4-4f64-b18d-f3453e934a85",
  "oid": "08650d87-1a47-436f-a8e1-ee44caa361ee",
  "sub": "08650d87-1a47-436f-a8e1-ee44caa361ee",
  "trustedfordelegation": "false"
}.[Signature]
4

2 回答 2

1

据我所知,Azure AD App Client Secret 被 sharepoint online 阻止。您需要选择证书进行身份验证:https ://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azuread

另一种解决方法是在 SharePoint 站点“https://yoursite/_layouts/15/appregnew.aspx”中注册应用程序。通过这种方式,您可以起诉客户秘密。https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azureacs

于 2021-04-12T08:43:58.220 回答
1

正如 Michael Han 所指出的,我必须在 SharePoint 中注册 App ID。完成后,授予访问权限。

于 2021-04-13T02:28:16.687 回答