【发布时间】: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 联系人向我提供了以下信息:
- 我们不使用 ADFS
- 登录网址是https://login.microsoftonline.com/TENANT-ID/saml2
- Azure AD 标识符是https://sts.windows.net/TENANT-ID/
现在我正在尝试使用 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