【问题标题】:MS office client sends no cookie after MS-OFBA SucceedsMS-OFBA 成功后,MS Office 客户端不发送 cookie
【发布时间】:2020-03-20 07:31:30
【问题描述】:

我正在尝试使用 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 之外发送身份验证?

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

【问题讨论】:

    标签: office365 ms-office forms-authentication webdav ithit-webdav-server


    【解决方案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>
    

    【讨论】:

    • 抱歉重播晚了,但感谢您的回复。我不记得我到底在哪里搞砸了,但基本上我并没有像你说的那样完全遵循 MS-OFBA
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 2021-08-25
      • 2013-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多