【问题标题】:Access to Sharepoint 2019 OnProm Web Services using NodeJS app使用 NodeJS 应用程序访问 Sharepoint 2019 OnProm Web 服务
【发布时间】:2020-07-06 07:45:06
【问题描述】:

在我的公司,I/T 刚刚设置了一个新的 Sharepoint 2019 OnPromise,即混合型,使用 Azure AD 进行身份验证。

我是我的 Sharepoint 网站的网站集管理员。假设 Sharepoint 的 URL 是 https://aymeric.sp.my-company.com

当我访问此 URL 时,我会自动重定向到 https://login.microsoftonline.com/TENANT-ID/wsfed?wa=wsignin1.0&wtrealm=urn%3aSharepoint%3afederation&wctx=https%3a%2f%2faymeric.sp.my-company.com%2f_layouts%2f15%2fAuthenticate.aspx%3fSource%3d%252F&wreply=https%3a%2f%2faymeric.sp.my-company.com%2f_trust%2fdefault.aspx&sso_nonce=AQABAAAAAABeAFzDwllzTYGDLh_qYbH87qVvvwM4pLiqYXloFo6Il7_-ry9WsQiAA&client-request-id=8dacdcfb-c68f-4ec2-a3e7-7760cecf3699&mscrid=8dacdcfb-c86f-4ec2-a3e7-7760cecf3699 - 我会自动识别并重定向回具有正确配置文件的 Sharepoint。

我的一位 I/T 联系人向我提供了以下信息:

现在我正在尝试使用 JavaScript 和 Node 应用程序 (node index.js) 访问 Sharepoint Web 服务(如 https://aymeric.sp.my-company.com/_vti_bin/UserProfileService.asmx)。 我将这种技术与 Sharepoint 2013 OnProm 一起使用,我没有任何问题:我只需使用 https://github.com/s-KaiNet/node-sp-auth 传递我的凭据,它就可以正常工作。

如果我尝试在浏览器中访问 SP 2019 Web 服务,它也可以正常工作。

但是在使用基于 Azure AD 的 Sharepoint Hybrid 的 Node 应用时,我找不到如何传递凭据……要发送什么?如何认证?我是否需要使用 Azure AD 应用程序连接到我的 Sharepoint OnProm?如果是,如何配置?我是否应该只发送带有“承载”和访问令牌的“身份验证”标头:如果是,如何获取此访问令牌?

无论我尝试什么(我尝试了十几个事情),我总是以(在最好的情况下)错误 403“访问被拒绝。您无权执行此操作或访问此资源。”。

我尝试了different authentications,我还尝试了adal-node 与从https://portal.azure.com/ 创建的Azure AD 应用程序,但它令人困惑。经过两天的搜索和尝试,我觉得我需要帮助。

谢谢

【问题讨论】:

    标签: javascript node.js azure sharepoint sharepoint-2019


    【解决方案1】:

    最后,由于我不是场/服务器管理员,我最后的选择是检索可用于所有请求以被 Sharepoint 识别的 FedAuth cookie。

    我“只是”通过创建一个NodeJs script 来模仿浏览器的行为,该NodeJs script 重现了所有必需的步骤。

    需要 10 次调用,包括重定向、发布表单和 Kerberos 身份验证,才能最终获得宝贵的 FedAuth cookie。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多