登录到 SharePoint Online 失败



我们有一个代码,它使用以下方法登录到 Sharepoint Online: https://login.microsoftonline.com/extSTS.srf 或 https://login.microsoftonline.com/RST2.srf,但最近我们开始收到身份验证失败,说"用户名或密码不正确",经过几次重试后它返回:

">0x80048823消息: AADSTS70002:验证凭据时出错。AADSTS50053:您尝试使用不正确的用户 ID 或密码登录的次数过多。

虽然使用相同的用户名和密码在浏览器中登录工作正常,并且密码或用户名都没有更改,代码也没有改变。因为相同的代码适用于另一个 SharePoint 租户。似乎Microsoft登录服务器发生了一些变化,它开始不接受用户凭据,而 Web 浏览器登录工作正常。

请指教。

谢谢

Microsoft Rep帮助我走到了这一步。

他们让我们创建一个"仅限云"的用户。此用户设置为"@",因此,如果你的姓名是 bill,而你的公司 SharePoint 网站是 name 是 FakeCompany.sharepoint.com 那么你的姓名将是"bill@FakeCompany.onmicrosoft.com">

该用户只需传递用户名和密码即可登录到 https://login.microsoftonline.com/extSTS.srf。

我们的本地 AD 用户仍然遇到问题,我提到了这一点并得到了以下响应。

同步没有问题,因为您可以使用相同的帐户和密码登录到门户。 您需要的解决方案记录在 https://learn.microsoft.com/en-gb/azure/active-directory/manage-apps/configure-authentication-for-federated-users-portal#enable-direct-authentication-for-legacy-applications

您需要创建一个主领域发现 (HRD( 策略,其中"允许云密码验证":true。

我们尚未实施最后一个解决方案,但创建云帐户可能会对你们中的一些人有所帮助。

所以我想我明白他们想说什么。根据 node-sp-auth 示例,您可以使用 2 条路径进行身份验证。

">

托管"和"联合">

"托管"是更简单的版本,允许您在肥皂断言中仅提供用户名和凭据即可登录。

联合要复杂得多。您需要首先向Microsoft执行发布,以验证用户是否命中您的 adfs 服务器。https://adfs.XXXXXXX.com/adfs/services/trust/13/usernamemixed

然后,您从该响应中获取 saml:Assertion,并将其放入您利用 node-sp-auth 中的模板进行 https://login.microsoftonline.com/extSTS.srf 调用的"令牌"部分。

我有执行所有这些步骤的 C# 代码,但出现错误 AADSTS70002:验证凭据时出错。AADSTS50008:SAML 令牌无效。AADSTS50006:签名无效。签名验证失败。

即使签名是由Microsoft在其 SAML 中生成的。

node-sp-auth code reference 是 OnlineUserCredential.ts 文件。

如果有人能弄清楚最后一英里,我可以发布一个全面的 C# 解决方案。

相关内容

  • 没有找到相关文章

最新更新