2016-01-02 53 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> 

参考

相关问题