2017-07-25 133 views
2

我們的一位客戶希望我們使用Office Server打開Word文檔。 我已經安裝了WAC服務器本地以在瀏覽器中打開Office文檔。如何從WAC Office服務器生成WOPI訪問令牌

本文檔將在我們的系統中的iframe中打開。 我想從WAC服務器使用WOPI API生成訪問令牌。 我做了一些調查,我發現Sharepoint正在這樣做。 我可以在C#中使用HttpClient來提取此值。但它看起來很髒!我相信有更好的方法來生成此Access令牌?我是全新的SharePoint和WAC服務器。請幫忙。

Access Token Generated from SharePoint

有一個WOPI API文檔。但是我仍然困惑如何構建這個請求?檢查從文檔中獲取的這個圖像。

enter image description here

預先感謝您:)

回答

2

你不一定需要實現/wopibootstrapper終點,也不是GetNewAccessToken方法。它們特定於Office Online (365) integration program

你的工作就是生成一個access_token,它將包含在你的應用程序中的WOPI幀的POST請求中(類似於你的問題中的圖片)。

該令牌將由WOPI客戶端(WAC/OWA/OOS服務器)使用。 WOPI客戶端不需要能夠解密令牌或以任何其他方式理解它。它只需要它並將其附加到針對WOPI主機的每個請求中。另一方面,WOPI主機需要能夠驗證令牌。令牌說明給定用戶有權訪問哪些資源。確保你的access_token好的概念understand。特別是:

訪問令牌必須限定爲單個用戶和資源組合的範圍。

您如何生成令牌完全取決於您。通常情況下,您會詢問您的用戶/角色存儲(可以是Windows ACL存儲,數據庫或其他內容)給定用戶是否可以訪問某個資源並將該信息(聲明)存儲在令牌中並加密(如此它不能被僞造)。另一種選擇是隻包含關於用戶的信息,並讓WOPI主機在令牌驗證期間找出許可(與用戶/角色存儲交談)......這也是可能的,因爲正如我前面提到的,WOPI客戶端不會「不在意令牌中的內容。如果您完全不關心授權,您甚至可以設置access_token=xyz,並且從不在您的WOPI主機中檢查它。

OfficeDev/PnP-WOPI中很好地演示了生成和驗證令牌的過程。請參閱HomeControllerWopiSecurity類。

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

相關問題