如何保护在Autodesk应用程序商店的应用不被盗版 - 1
Autodesk应用程序商店如火如荼,但来自中国的应用却还是寥寥无几。大家在担心什么呢?可能其中一个因素就是担心自己的应用上线后被盗版的问题。对应用的版权保护和授权管理是每个应用开发者都应该认真考虑的事,同时Autodesk应用程序商店也发布了最新的API来帮助大家使这个过程更简单方便。
Autodesk应用程序商店最近发布了如下API,来检查某个用户是否有权利使用您的App。这里说的有权利使用的意思就是说,这个用户确实是从Autodesk应用程序商店付费下载的,而不是从别人那里考过去的。下面是这个API的说明:
Base URL: https://apps.exchange.autodesk.com
End Point: webservices/checkentitlement
Http Method: GET
Parameters: ?userid=***&appid=***
Return : Json object.
返回的Json为 :
{"UserId":"2N5FMZW9CCED","AppId":"appstore.exchange.autodesk.com:autodesk360:en","IsValid":false,"Message":"Ok"}
IsValid: 如果用户有权使用这个app,也就是说他确实是从AppStore上付费购买的,那么IsValid返回true,否则返回false
Message:
“OK” - current call is correct
“Invalid parameters(s)” – 没有传入userid 或 appid。注意这里的userid是用户的内部id。不是用户用来在Autodesk产品或网站上登录的那个Autodesk ID,而是Autodesk用户数据库中记录的一个唯一的内部ID。
“Please use https” - 需要使用HTTPS
你可以从你应用的首页URL上得到appid,比如我下面的这个应用,打开这个app的页面,url上就显示了它的appid。

但是这个userid从哪儿来呢?
大家知道现在几乎所有Autodesk产品都可以让用户用他们的Autodesk ID登录。比如AutoCAD如下图。你的App即AutoCAD插件就可以检测这个用户的userid,然后判断他是不是有权使用这个插件,如果他真的是付费下载的,那就给他用,否则的话,哼哼。。
好了,对于AutoCAD来讲获取userid简单一些,你可以通过下面这个没公开的系统变量,ONLINEUSERNAME 和 ONLINEUSERID.不过对于Revit 和Inventor等其他产品没有这样的系统变量可用,目前就只能通过实现Autodesk OAuth让用户再登录一遍了。稍后我们还会详细讲AutodeskOAth的实现。同时我也在和开发部协调来提供更方便的API.

对Web服务类型的App,如果发布一web服务类型的app,也就是只有一个URL的app,你会注意到你可以选择登录类型。如果你选择使用自己的用户系统,那么对于授权管理则需要你自己完全实现。你还可以选择使用Autodesk ID登录,这样用户直接使用他们的Autodesk ID就可以登录到你的web应用,你就不用自己维护用户数据库等等了,而且你还可以使用上面提到的API来检查这个用户是否购买了你的app。当然要让用户使用他们的Autodesk ID登录你的web应用,你需要实现Autodesk OAuth,同时通过Autodesk OAuth你可以获取用户的userid来进行授权检查。

ADN 已经在github上发布的好多实现Autodesk OAuth的示例,你可以到https://github.com/ADN-DevTech/AutodeskOAuthSamples下载,这其中包括的不同语言(C#,Java,Object-C,PHP,Python,Javascript等)和不同平台上的例子,包括桌面windows,ASP.net WebForm/MVC,Android,iOS,Windows RT等等。你可以根据需要选择参考。不过注意的是这些例子是为了讲解OAuth的原理,并没有在健壮性上做过多考虑,不要直接用在你的生产环境中。
好了,下来我们再介绍如何通过Autodesk OAuth来实现以ASP.net web应用程序的版权保护和授权管理,敬请关注。
http://adndevblog.typepad.com/cloud_and_mobile/2014/03/how-to-protect-my-intellectual-property-of-my-app-on-autodesk-exchange-part-1.html
http://adndevblog.typepad.com/cloud_and_mobile/2014/04/how-to-protect-my-intellectual-property-of-my-app-on-autodesk-exchange-part-2.html
http://adndevblog.typepad.com/cloud_and_mobile/2014/05/how-to-protect-my-intellectual-property-of-my-app-on-autodesk-exchange-part-3.html
如何保护在Autodesk应用程序商店的应用不被盗版 - 1的更多相关文章
- 在Autodesk应用程序商店发布基于浏览器的Web应用程序
你一定已经听说过Autodesk应用程序商店了,通过Autodesk应用程序商店,你可以免费下载或购买来自全球的优秀开发者发布的应用程序,来帮助你更快更方便的完成你的工作.而且作为开发者,您也可以在A ...
- 智者当借力而行, 借助Autodesk应用程序商店实现名利双收
有没有注意到这个"精选应用"菜单?有没有想过这个菜单下的应用是从哪里来的?你的应用也可以出现在这里哦~ 如果你还不知道,Autodesk在几年前就发布了Autodesk应用程序商店 ...
- 发布有礼!2015 Autodesk程序商店有奖发布活动拉开序幕
您是不是有希望您的 Autodesk 产品应用程序有更多的用户?您是不是正在寻求更广阔的市场机会?您是不是在激荡人心的云时代大潮中有许多奇思妙想没有小试身手? 来吧,来参加Autodesk应用程序发布 ...
- L17 怎么向应用程序商店提交应用
原地址:https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/ApplicationD ...
- 怎样将IPhone应用程序软件公布到应用程序商店?
转自:http://www.shtion.com/667.html 怎样将IPhone应用程序软件公布到应用程序商店? 2009年10月19日公布 分类: App store, iphone, 手机应 ...
- SharePoint 2016 配置应用程序商店
最近碰到一个新的需求,就是要给SharePoint配置应用程序商店,挺有意思的,就简单的配置和记录了一下,分享给大家. 其实应用程序商店之前感觉很鸡肋,但是用起来还是不错的.不喜勿喷,呵呵. 首先需要 ...
- Spring Security:简单的保护一个SpringBoot应用程序(总结)
Spring Security 在 Java类中的配置 在 Spring Security 中使用 Java配置,可以轻松配置 Spring Security 而无需使用 XML . 在Spring ...
- Verify an App Store Transaction Receipt 【苹果服务端 验证一个应用程序商店交易收据有效性】
转自:http://blog.csdn.net/saindy5828/article/details/6414014 1. 从Transaction 的TransactionReceipt属性中得到接 ...
- Autodesk 最新开发技术研讨会 -8月22日-Autodesk北京办公室
为了增进与广大中国地区Autodesk产品的二次开发人员的了解与互动,帮助中国地区的Autodesk产品二次开发人员了解Autodesk最新的二次开发技术动向,并获得Autodesk公司专业开发支持顾 ...
随机推荐
- Linux - Tips
01 - Linux的系统结构 Linux 系统结构详解 02 - 执行多条命令 方法1:在命令行下可以一次性粘贴多条语句,shell会依次执行并输出结果 方法2:在一个命令行中,用分号将各个命令隔开 ...
- CSS好看的按钮
好看的按钮 <style> .btn { BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #7b9ebd ...
- Windows Azure Virtual Network (7) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (2)
<Windows Azure Platform 系列文章目录> 本文介绍的是,当用户在创建Azure Virtual Machine的时候,忘记绑定公网IP,需要重新绑定公网IP的具体操作 ...
- JAVA 设计模式 组合模式
用途 组合模式 (Component) 将对象组合成树形结构以表示“部分-整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有唯一性. 组合模式是一种结构型模式. 结构
- CSS魔法堂:不得不说的Containing Block
前言 <CSS魔法堂:重新认识Box Model.IFC.BFC和Collapsing margins>中提到在没有floated兄弟盒子时,line box的左右边框会与所属的cont ...
- 【Android学习笔记】XmlResourceParser解析xml文件
最近学习Android时,需要用到解析XML文件里的数据,可以用XmlResourceParser来解析xml文件,正好将此记录下来. XmlResourceParser里常用的字段和方法 首先先给出 ...
- es6继承 vs js原生继承(es5)
最近在看es2015的一些语法,最实用的应该就是继承这个新特性了.比如下面的代码: $(function(){ class Father{ constructor(name, age){ this.n ...
- 【要什么自行车】ASP.NET MVC4笔记03:调用编辑器 kindeditor
参考:http://www.cnblogs.com/guzhongx/p/kindeditor.html 1.下载kindeditor,存放于Content文件夹下 <script src=&q ...
- C#-INotifyPropertyChanged(解决数据绑定的界面刷新问题)
最近做项目用到DataGridView,用它绑定数据源后,如果数据源中的数据修改无法及时刷新到控件上,必须切换单元格的焦点才能导致刷新显示新数值,通过查官方文档,用INotifyPropertyCha ...
- 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例
[源码下载] 背水一战 Windows 10 (9) - 资源: 资源限定符概述, 资源限定符示例 作者:webabcd 介绍背水一战 Windows 10 之 资源 资源限定符概述 资源限定符示例 ...