1

我正在尝试使用 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 时,您如何检测 word 是否经过身份验证?有没有办法使用 MS-OFBA 以便 word 在 cookie 之外发送身份验证?

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

4

2 回答 2

1

我可以确认,一旦通过 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>
于 2020-05-04T06:55:54.363 回答
-1

OPTIONS 请求应该在没有身份验证的情况下处理,这可能是没有附加 cookie 的原因。请在此处查看有关 OPTIONS 的说明:OPTIONS 请求身份验证

自 v11+ 起,IT Hit WebDAV 服务器引擎支持将 MS-OFBA 添加到具有“个人用户帐户”和“工作或学校帐户”选项的 .NET Core 项目。请在此处查看如何添加 MS-OFBA:https ://www.webdavsystem.com/server/documentation/choosing_authentication/azure-ad-auth/

于 2021-04-10T06:16:12.297 回答