gpt4 book ai didi

c# - 如何从 WAC Office 服务器生成 WOPI 访问 token

转载 作者:行者123 更新时间:2023-11-30 21:39:14 24 4
gpt4 key购买 nike

我们的一位客户希望我们使用 Office Server 打开 Word 文档。我已经在本地安装了 WAC 服务器,以便在浏览器中打开办公文档。

此文档将在我们系统的 iframe 中打开。我想使用 WOPI API 从 WAC 服务器生成访问 token 。我做了一些调查,发现 Sharepoint 正在这样做。我可以在 C# 中使用 HttpClient 来提取此值。但是看起来很脏!而且我确定有更好的方法来生成此访问 token ?我对 SharePoint 和 WAC 服务器完全陌生。请帮忙。

Access Token Generated from SharePoint

有一个 WOPI API 文档。但我仍然对如何构建此请求感到困惑?检查从文档中获取的这张图片。

enter image description here

提前谢谢你:)

最佳答案

您不一定需要实现 /wopibootstrapper 端点或 GetNewAccessToken 方法。它们特定于 Office Online (365) integration program .

您的工作只是生成一个 access_token,它将包含在您应用程序中 WOPI 框架的 POST 请求中(类似于您问题中的图片)。

此 token 将由 WOPI 客户端(WAC/OWA/OOS 服务器)使用。 WOPI 客户端不需要能够破译 token 或以任何其他方式理解它。它只是接受它并将其附加到针对 WOPI 主机发出的每个请求中。另一方面,WOPI 主机需要能够验证 token 。 token 说明给定用户可以访问哪些资源。确保你 understand access_token的概念很好。特别是:

Access tokens must be scoped to a single user and resource combination.

如何生成 token 完全取决于您。通常,您会询问您的用户/角色存储(这可以是 Windows ACL 存储、您的数据库或其他东西)给定用户是否有权访问某个资源并将此信息(声明)存储在 token 中并对其进行加密(因此它不能被伪造)。另一种选择是只包含有关用户的信息,让 WOPI 主机在 token 验证期间确定权限(与用户/角色存储对话)......这也是可能的,因为正如我之前提到的,WOPI 客户端不不关心 token 中的内容。如果您根本不关心授权,您甚至可以设置 access_token=xyz 并且从不在您的 WOPI 主机中检查它。

生成和验证 token 的过程在 OfficeDev/PnP-WOPI 中得到了很好的展示。 .请参阅 HomeControllerWopiSecurity 类。

你可以在我的另一个答案中看到一些其他的例子here .

关于c# - 如何从 WAC Office 服务器生成 WOPI 访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45306062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com