logo NodeSeekbeta

通过在请求头添加 FedAuth Cookie 来继续保持以 WebDAV 方式挂载 SharePoint / OneDrive 的持久可用性

前言见微软 SharePoint 更新认证方式导致以 WebDAV 方式的挂载出现 403 授权错误

由于微软弃用 RPS,导致无法更新 FedAuth Cookie,因此无法保持 WebDAV 挂载的持久可用性。

那么现在可以通过手动添加 FedAuth Cookie 到请求头来完成挂载。这个 cookie 的有效期只有 5 天,到期后需要刷新。

以 Rclone 为例

这是 RPS 更新 Cookie 的配置示例

[sharepoint]
type = webdav
url = https://example-my.sharepoint.com/personal/my_account_example_edu/Documents
vendor = sharepoint
user = [email protected]
pass = ef2KyNf2WMrVGcVCroGEiw-kCKeh75XdKcE

RPS 失效后,需要自己添加 FedAuth Cookie,于是配置变成

[sharepoint]
type = webdav
url = https://example-my.sharepoint.com/personal/my_account_example_edu/Documents
vendor = other
user = [email protected]
pass = ef2KyNf2WMrVGcVCroGEiw-kCKeh75XdKcE
headers = "Cookie","FedAuth=XXX;rtFa=XXX;"

修改的地方有2处,vendor 改为 other,添加 Cookie 的请求头,只需要2项,FedAuthrtFa

Cookie 可以在 OneDrive 页面获取

自动更新 Cookie

现在需要另外实现一套更新 Cookie 的方案,不过我没有好的思路,可能还是需要软件内置这种更新逻辑会更好,自己去更新配置文件还是太麻烦了。

有大神去给rclone提PR来替代RPS的更新Cookie的方案吗?

参考

https://forum.rclone.org/t/handle-403-error-due-to-expired-external-cookies-when-using-webdav-with-onedrive-business-sharepoint/49900

https://gist.github.com/ozel/bb1cbdd4674445aba1c25289166afda3

  • 大佬,牛逼啊。用这个方式rclone 挂载成功了 ,怎么通过alist挂载呢

  • 鸡腿支持一下 xhj016

  • @夜听风雨 #1 我刚才发现了一个其他方式挂载的项目 https://github.com/nickfox-taterli/rclone

    你可以也试一下,不是 webdav 的方式的,可能会更好用点,只是项目很久没更新了,不清楚还能不能用

    openlist需要别人来研究了,我只通过rclone挂载无api的sharepoint

  • 有办法自动延长有效期么?

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有60108位seeker

🎉欢迎新用户🎉