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.

我们看一个例子: https://apps.exchange.autodesk.com/webservices/checkentitlement?userid=2N5FMZW9CCED&appid=appstore.exchange.autodesk.com%3aautodesk360%3aen

返回的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的更多相关文章

  1. 在Autodesk应用程序商店发布基于浏览器的Web应用程序

    你一定已经听说过Autodesk应用程序商店了,通过Autodesk应用程序商店,你可以免费下载或购买来自全球的优秀开发者发布的应用程序,来帮助你更快更方便的完成你的工作.而且作为开发者,您也可以在A ...

  2. 智者当借力而行, 借助Autodesk应用程序商店实现名利双收

    有没有注意到这个"精选应用"菜单?有没有想过这个菜单下的应用是从哪里来的?你的应用也可以出现在这里哦~ 如果你还不知道,Autodesk在几年前就发布了Autodesk应用程序商店 ...

  3. 发布有礼!2015 Autodesk程序商店有奖发布活动拉开序幕

    您是不是有希望您的 Autodesk 产品应用程序有更多的用户?您是不是正在寻求更广阔的市场机会?您是不是在激荡人心的云时代大潮中有许多奇思妙想没有小试身手? 来吧,来参加Autodesk应用程序发布 ...

  4. L17 怎么向应用程序商店提交应用

    原地址:https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/ApplicationD ...

  5. 怎样将IPhone应用程序软件公布到应用程序商店?

    转自:http://www.shtion.com/667.html 怎样将IPhone应用程序软件公布到应用程序商店? 2009年10月19日公布 分类: App store, iphone, 手机应 ...

  6. SharePoint 2016 配置应用程序商店

    最近碰到一个新的需求,就是要给SharePoint配置应用程序商店,挺有意思的,就简单的配置和记录了一下,分享给大家. 其实应用程序商店之前感觉很鸡肋,但是用起来还是不错的.不喜勿喷,呵呵. 首先需要 ...

  7. Spring Security:简单的保护一个SpringBoot应用程序(总结)

    Spring Security 在 Java类中的配置 在 Spring Security 中使用 Java配置,可以轻松配置 Spring Security 而无需使用 XML . 在Spring ...

  8. Verify an App Store Transaction Receipt 【苹果服务端 验证一个应用程序商店交易收据有效性】

    转自:http://blog.csdn.net/saindy5828/article/details/6414014 1. 从Transaction 的TransactionReceipt属性中得到接 ...

  9. Autodesk 最新开发技术研讨会 -8月22日-Autodesk北京办公室

    为了增进与广大中国地区Autodesk产品的二次开发人员的了解与互动,帮助中国地区的Autodesk产品二次开发人员了解Autodesk最新的二次开发技术动向,并获得Autodesk公司专业开发支持顾 ...

随机推荐

  1. Python编码问题整理

    认识常见编码 GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码 GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名 cp936:中文本地系统是 ...

  2. windows环境下跑hadoop自带的wordcount遇到的问题

    hadoop环境自己之前也接触过,搭建的是一个伪分布的环境,主从节点都在我自己的机子上,即127.0.0.1,当初记得步骤很多很麻烦的样子(可能自己用ubuntu还不够熟练),包括myeclipse. ...

  3. iOS_UIImage_裁切圆形头像

    github地址: https://github.com/mancongiOS/UIImage.git UIImage的Cagetory UIImage+ImageCircle.h - (UIImag ...

  4. vs2015使用GIt连接git.oschina.net/

    本文转自:http://www.bubuko.com/infodetail-1066588.html.谢谢作者 先安装Git命令行,下载地址:https://github.com/git-for-wi ...

  5. [C++][操作符]四种显示转换操作符

    整理了C++ Primer中提到的四种显示转换,用思维导图写出来,是不是很清晰O(∩_∩)O.

  6. HT for Web自定义3D模型的WebGL应用

    有不少朋友询问<HTML5 Web 客户端五种离线存储方式汇总>文章例子的3D表计模型是如何生成的,这个例子是通过导入3dmax设计好的表计模型,然后通过obj格式导入到HT for We ...

  7. 开源服务专题之--------mysql的编译安装

    为什么选择MySQL 1:mysql性能卓越,服务稳定,很少出现异常宕机 2:mysql开源免费,无版权制约,自主性及使用成本低 3:产品耦合度,mysql支持多种操作系统,支持多开发语言,特别是ph ...

  8. 通过原生JS实现为元素添加事件

    自己写了一个为元素添加事件的方法,并封装到对象中. 说明: id : 目标元素的ID type: 事件的类型,注意的是不能加on fn:事件处理程序 isBubble :规定事件流 代码: var b ...

  9. C语言学习011:带参数的main函数

    直接上代码 #include <stdio.h> int main(int argc,char *argv[]){ printf("%i \n",argc); int ...

  10. js和jquery常用方法

    1.0 编码 Encode,Decode function htmlEncode(value) { return $('<div>').text(value).html(); } func ...