MS-OFBA 成功后 MS office 客户端不发送 cookie

MS office client sends no cookie after MS-OFBA Succeeds

我正在尝试使用 MS-OFBA 对 Word 和 Excel 文档进行身份验证,然后再在托管它们的 Web 服务器 (.Net-Core) 上对其进行编辑。但是,在使用 MS-OFBA 进行身份验证并接收到身份验证 cookie 之后,Word 不会在后续的 OPTIONS 请求中发送 cookie(它确实会在其他一些请求中发送它,因此我可以判断它已经收到了 cookie)。因此,Web 服务器无法判断 word 是否已通过身份验证,它会陷入一个循环,要求 word 提供凭据。

MS-OCPROTO 规范说这是一个部分 (2.1.2.1.2.2) 中的预期行为,然后自相矛盾并说 OPTIONS 请求确实在另一部分 (3.1) 中发送 cookie。鉴于我没有收到 cookie,我认为 2.1.2.1.2.2 部分是正确的部分。如果是这种情况,那么如何使用 MS-OFBA(专门用于验证办公室)验证单词?

以前有没有人使用过 MS-OFBA 对 word 进行身份验证?如果是,当 word 不根据 OPTIONS 请求发送 cookie 时,您如何检测它是否已通过身份验证?有没有一种方法可以使用 MS-OFBA,以便 word 在 cookie 之外发送身份验证?

我非常坚持这一点,所以我将非常感谢任何帮助或正确方向的指示

我可以确认,一旦通过 MS-OFBA 的身份验证,来自 Microsoft Office 客户端的所有 WebDAV 相关请求都包含身份验证 cookie。

确保您严格遵守 MS-OFBA 协议,包括预期的 HTTP 响应代码。

https://docs.microsoft.com/en-us/openspecs/sharepoint_protocols/ms-ofba/c2c4baef-c611-4e7b-9a4c-d009e678e3d2

根据此文档,此响应后的所有请求都应包含 cookie - 请注意,响应代码必须为 302,并且重定向位置必须与 X-FORMS_BASED_AUTH_RETURN_URL 完全匹配。

 S: HTTP/1.1 302 Object Moved
 Location: https://www.contoso.com/OnSuccess.aspx
 Set-Cookie: Authentication=<server-determined hash of the user’s identity>

OPTIONS 请求应在未经身份验证的情况下进行处理,这可能是未附加 cookie 的原因。请在此处查看有关选项的说明:OPTIONS request authentication

IT Hit WebDAV 服务器引擎支持将 MS-OFBA 添加到具有 'Individual User Accounts' 和 'Work or School Accounts' 选项的 .NET Core 项目,因为 v11+。请在此处查看如何添加 MS-OFBA:https://www.webdavsystem.com/server/documentation/choosing_authentication/azure-ad-auth/