2016-01-02 57 views
1

我有一個客戶端Web應用程序在SharePoint網站集上運行,每個網站集都有它自己的唯一ID。我想使用授權流程將應用鎖定到網站集。客戶端代碼Web應用程序的許可系統

這是挑戰 - 響應過程,我想實現:

  • 提示用戶生成challenge code
  • challenge codesite_collection_id通過一些功能處理
  • 用戶的郵件我challenge code
  • 加密challenge codeprivate key
  • 加密結果是利弊idered我發送到用戶的license key
  • 用戶保存license key到應用

驗證過程:

  • On應用負載,license key
  • 解密license key使用public key存儲在應用
  • 檢索
  • 結果是用戶之前發送的challenge code
  • 採取這一challenge code使其恢復到site collection id
  • 檢索site collection id應用程式在
  • 當前運行比較兩個以確定是否license key有效

這是否有道理?我不確定的一件事是公共/私人關鍵的東西,如果有一種方法可以在JavaScript中做到這一點。


我知道100%安全的客戶端應用程序是不可能的。我只是尋找一些東西,以防止發送應用程序

+0

這可能是更適合[security.se] –

回答

0

您可以在JavaScript中使用公共/私人密鑰,我剛剛在我最近的項目中使用。檢查openpgp.js。你描述的場景看起來很好。您也可以使用每日令牌客戶端會要求您的服務器能夠運行,SharePoint站點可能會將您給予他們的令牌發回給每日許可證請求,並且您發送許可證代碼和有效期爲24小時的令牌。

+0

令牌的解決辦法是更安全的,但我正在尋找一個解決方案,是完全隔離的,並且不需要與外部服務器進行通信並且通常更容易維護。 opengp.js看起來很有希望,我會玩弄它。感謝您的建議。 – Batman

+0

np,關於openpgp.js,沒有太多關於它的文檔示例,但它很容易理解,它確實是合法的實現。漂亮的工具在工具箱中。 –

+0

實際上很可能不能使用這個不幸的是,兼容性沒有足夠的覆蓋率。資源管理器11+是支持的,但我的大部分用戶會低於此。 – Batman

0

經典設置包括髮佈一個免費版本,然後通過驗證通過AJAX許可證密鑰解鎖,並允許在成功的商業功能:

配置需要包括許可證密鑰,否則你會在視頻頂部看到Flowplayer文字。安裝發生在HTML頁面上的SCRIPT標籤之間。許可證密鑰轉到流水遊戲調用的第三個參數,它包含在流水遊戲配置對象中。

flowplayer("player", 
     "http://releases.flowplayer.org/swf/flowplayer.commercial-3.2.18.swf",{ 
// license key from your account 
key: '#$7162d2d730cf607ac6d' 
    }); 

注意:當您部署IFRAME內商業的球員,你必須選擇iframe的原始域,即在iframe的src屬性域的許可證密鑰。

和更現代的替代辦法是:

如果你想舉辦自己的播放器庫,你可以找到在儀表板的高級帳戶頁面都許可證密鑰和最新的JW Player文件。一旦下載,你將需要在你自己的服務器上託管jwplayer.js。配置您的網頁時,您需要指向您的jwplayer.js副本,並定義您的自託管許可證密鑰。下面是一個代碼示例:

<script src="//mywebsite.com/jwplayer/jwplayer.js" ></script> 
<script>jwplayer.key="ABCdeFG123456SeVenABCdeFG123456SeVen==";</script> 

參考

相關問題