【发布时间】: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