簡體   English   中英

SharePoint Online-內容編輯器Web部件-秘密管理

[英]SharePoint Online - Content Editor Web Part - Secret Management

我每天都是C#軟件專家和SharePoint初學者。 我正在將Content Editor Web部件與SharePoint Online一起使用,但不知道如何安全地存儲機密。 我的SharePoint應用程序必須與另一個應用程序通信並且要執行此操作,因此我必須使用自定義憑據。 因為我處於開發階段,所以能夠在Type Script文件中對憑據進行硬編碼,但這不是我長期想要的。

我的問題是,是否有人可以指導我使用由TypeScript / JavaScript使用的SharePoint Online Content Editor Web部件來存儲機密的正確策略。

謝謝

老實說,正確的策略是完全不使用JavaScript進行敏感的API調用。 敏感的API調用只能在服務器端進行(這樣,任何“秘密”密鑰,密碼等都永遠不會到達瀏覽器)。

將秘密值存儲在某個地方並使用JavaScript對其進行訪問的問題在於,JavaScript必須在使用過程中的某個地方解碼該值。 這意味着精明的用戶可以查看頁面的源代碼,打開其瀏覽器JS工具,然后執行相同的命令來獲取值。 安全性不是很好。

本地SharePoint實際上為此提供了一個解決方案,稱為“安全存儲服務”,但之所以起作用,部分原因是它被設計用於服務器端代碼。 到目前為止,Microsoft尚未在SharePoint Online中發布該服務的客戶端API(可能是因為如上所述,與JS一起使用它的安全性較差)。

“適當的”策略取決於您的目標。 您至少有2個選擇:

  1. 如果您想要真正的安全性來保護您的密鑰/密碼/其他任何內容,則需要開發一個SharePoint Online“托管加載項”,該加載項駐留在另一台服務器或Azure等雲服務上。 SharePoint提供了“應用程序部件”,這些應用程序部件將托管的加載項與iframe包裹在一起,並允許您將其添加到頁面中,因此您可以使用該應用程序將應用程序添加到SharePoint頁面中,並使其顯示API調用的結果(非常類似於內容編輯器Web部件的外觀)。
  2. 如果你並不需要真正的安全,並“通過隱藏的安全”是不夠好,那么我建議你存儲在SharePoint列表中的秘密值,並做一些“假”的加密就可以像Base64編碼。 從列表中讀取值后,然后在JavaScript中對其進行解碼。 如果要添加更多的晦澀之處,可以使用PowerShell或JavaScript將列表隱藏起來,以便用戶在瀏覽器中看不到它,但這也意味着您必須通過代碼添加/編輯值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM