客户端代码web应用程序的许可系统
Licensing system for client side code web application
我有一个在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——出版指南
- 数据绑定:'系统Char'不包含名为'xxxxx'
- Javascript模块系统I'I’我正在努力,但搞不明白
- 是否可以在系统/电脑浏览器中访问手机摄像头
- Node JS中的排名系统算法
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 如何在foreach循环中对每个产品单独应用评级系统
- Javascript-修复搜索系统
- 是否有任何设置阻止JavaScript在系统上工作
- 如何组织用户系统的Mongo集合
- 数字文件命名系统
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- 动态代码中存在系统应用程序地址错误
- 从自己的安全系统中重新找回自己
- 难以置信的简单密码系统不工作
- 在chrome.runtime消息系统中使用promise
- 当地址栏出现时,安卓系统上的css固定页脚被隐藏
- 如何使荷兰拍卖系统的价格每秒钟都在下降
- 如何获取node.js系统CLI应用程序的位置
- SoundCloud API-基于系统中的ID创建用户配置文件
- 客户端代码web应用程序的许可系统