2017-07-25 21 views
2

Office Serverを使用してWord文書を開くことをお勧めします。 WACサーバーを社内にインストールして、Officeドキュメントをブラウザに開くことができます。WAC Office ServerからWOPIアクセストークンを生成する方法

このドキュメントは、私たちのシステムのiframeで開かれます。 WOPI APIを使用してWACサーバーからアクセストークンを生成したいと考えています。 私はいくつかの調査をしましたが、私はSharepointがそうしていることを発見しました。 C#でHttpClientを使用してこの値を抽出できます。しかし、それは汚れて見える!このアクセストークンを生成するにはより良い方法があると確信しています。私はSharePointとWACサーバーで全く新しいです。助けてください。

Access Token Generated from SharePoint

WOPI APIのドキュメントがあります。しかし、私はまだこの要求を構築する方法が混乱していますか?このイメージを確認してください。

enter image description here

事前にありがとう:)

答えて

2

あなたは必ずしも/wopibootstrapperエンドポイントもGetNewAccessTokenメソッドを実装する必要はありません。それらはOffice Online (365) integration programに固有のものです。

あなたの仕事は、アプリケーション内のWOPIフレームのPOST要求に含まれるaccess_tokenを生成することです(問題の画像と同様)。

このトークンは、WOPIクライアント(WAC/OWA/OOSサーバー)によって使用されます。 WOPIクライアントは、他の方法でトークンを解読したり理解したりする必要がありません。それはWOPIホストに対して行われているすべてのリクエストに追加されます。一方、WOPIホストは、トークンを検証できる必要があります。トークンは、与えられたユーザがどのリソースにアクセスしているかを示します。 understandのコンセプトはaccess_tokenであることを確認してください。特に:

アクセストークンのスコープは、単一のユーザーとリソースの組み合わせにする必要があります。

どのようにトークンを生成するかは、あなた次第です。通常、指定されたユーザーが特定のリソースにアクセスできるかどうかをユーザー/ロールストア(WindowsのACLストア、データベースなど)に問い合せ、トークン内にこの情報(要求)を格納して暗号化しますそれは偽造することはできません)。もう1つの選択肢は、ユーザーに関する情報だけを含めることであり、WOPIホストはトークンの検証中に権限を把握できるようにします(ユーザー/ロールストアに話してください)...これは、前述したように、WOPIクライアントは、トークンに何が入っているか気にしないでください。 access_token=xyzを設定しても、WOPIホストでは決して許可を気にしない場合はチェックしないでください。

トークンの生成と検証のプロセスは、OfficeDev/PnP-WOPIで非常によく示されています。 HomeControllerおよびWopiSecurityクラスを参照してください。

私の他の回答hereにいくつかの他の例があります。

関連する問題