客户端代码web应用程序的许可系统

Licensing system for client side code web application

本文关键字:许可 系统 应用程序 代码 web 客户端      更新时间:2023-09-26

我有一个在SharePoint网站集上运行的客户端web应用程序,每个网站集都有自己的唯一id。我想使用许可流程将应用程序锁定到网站集。

这就是我试图实现的挑战响应过程:

  • 提示用户生成challenge code
  • challenge code是通过某种函数处理的site_collection_id
  • 用户给我发电子邮件challenge code
  • private key加密challenge code
  • 加密的结果被认为是我发送给用户的license key
  • 用户将license key保存到应用程序中

验证过程:

  • 加载应用程序时,检索license key
  • 使用应用程序中存储的public key解密license key
  • 结果是用户之前发送的challenge code
  • challenge code将其还原为site collection id
  • 检索当前运行的site collection id应用程序
  • 比较两者以确定license key是否有效

这有道理吗?我不确定的一件事是公钥/私钥,以及是否有办法在JavaScript中做到这一点。


我知道100%保护客户端应用程序是不可能的。我只是在寻找一些东西来防止有人轻易分发应用程序

您可以在javascript中使用公钥/私钥,我刚刚在最近的项目中使用过。检查openpgp.js。您描述的场景看起来不错。你也可以使用每日代币。客户端会要求你的服务器能够运行,sharepoint网站可能会发送你给他们的代币,并请求每日许可证,你会发送许可证代码和24小时有效的代币。

经典的设置包括发布免费软件版本,然后通过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>

参考

  • Flowplayer:商业配置

  • JW播放器:嵌入-托管您自己的播放器库

  • 支持SSO/SDO 中的开源软件开发

  • Dev.Opera——出版指南