【问题标题】:Automating SharePoint scripts/code with LegacyAuthProtocolsEnabled set to false在 LegacyAuthProtocolsEnabled 设置为 false 的情况下自动化 SharePoint 脚本/代码
【发布时间】:2022-10-15 15:03:41
【问题描述】:

我们使用 Microsoft.SharePoint.Client 库从我们的工作流引擎自动执行 SharePoint 工作,但昨天,我们的一位客户通知我们他们想要禁用旧式身份验证(LegacyAuthProtocolsEnabled 为 false)。

一旦我在我们这边尝试过,我最终得到了一个Unauthorised 异常。

出于明显的安全原因,想要禁用Legacy Authentication 很好,但Modern Authentication 的问题是它需要用户交互,这显然不是解决方案,因为我们在后台运行任务。

我已经在谷歌上搜索了很长一段时间,但到目前为止我还没有找到关于如何处理后台工作的自动身份验证的解决方案。

LegacyAuthProtocolsEnabled 设置为false 时,有没有办法在没有任何用户交互的情况下“验证”SharePoint

我发现一篇文章建议使用App Authentication,但在阅读了更多关于它的信息后,我相信这被认为是一种旧的身份验证方法,随着时间的推移也可能会被弃用,但我想我还是会试一试以防万一,但它没有用。当我到

https://tenant.sharepoint.com/_layouts/15/appregnew.aspx

其中tenant是我们公司的域名,我在填写完所有相关字段后点击“创建”按钮,出现以下错误,完全没用:

抱歉,出了一些问题 发生意外的错误。 技术细节

根据这篇文章HOW TO HARDEN YOUR SHAREPOINT ONLINE ENVIRONMENT BY DISABLING LEGACY AUTHENTICATION,自 2020 年 10 月 13 日起,旧式身份验证不再是一个选项,但我们到了,该选项在 SharePoint 365 中仍然可用,虽然这篇文章很有趣,但请解释为什么 Legacy Authentication应该关闭,等等......它没有详细说明如何处理自动化解决方案。

还发现了一个旧线程"LegacyAuthProtocolsEnabled" and Scripted Logons to SharePoint Online?,@DeanWang 建议将其打开为:

所有自定义 CSOM、PowerShell 代码将停止工作

这也可能会阻止第三方应用程序访问 SharePoint 在线资源。

我将在这里停下来,因为我可以继续前进,这个问题对我来说已经太长了在 Legacy Authentication 关闭时,无需任何用户交互即可从后台任务中获取“脚本/代码”?

谢谢

【问题讨论】:

    标签: sharepoint sharepoint-online csom


    【解决方案1】:

    由于我们正在讨论的是 SharePoint Online,因此连接到不同 SharePoint 站点的一种简单方法是使用 Azure AD App-Only 方法,并且由于您正在讨论 Deamon 服务,因此您可以在注册应用程序注册时轻松使用应用程序权限。

    您可以并且应该从链接的 Microsoft Docs 文章中了解更多相关信息。

    例如,您还可以通过 Log in to Microsoft 365 中描述的证书或应用程序注册密码登录,以便创建自动 CI CD SPFx 管道。

    希望以上内容有所帮助,如果不请自来:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-07
      • 1970-01-01
      • 2012-05-04
      • 2012-11-01
      • 2013-01-27
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      相关资源
      最近更新 更多