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公司专业开发支持顾 ...
随机推荐
-
git本地提交到远程仓库命令
创建好远程仓库,然后要从本地上传代码到远程仓库: 1.git init 初始化git本地仓库 2. git add 添加到暂存区 3. git commit -am "提交备注" ...
-
css3新增的属性选择器
使用css选择器,可以实现一个样式对应多个html文档的元素,在{}前面的部分就是"选择器",指明了样式的作用对象. 在CSS中追加了三个属性选择器:[att*=val].[att ...
-
Linux 下子线程的 pthread_cleanup_push() 和 pthread_cleanup_pop() 研究
线程退出前可能有一些清理工作,但是这部分代码又不会放到线程主体部分,就需要挂接一个或者几个线程“清洁工”来做这部分事情.需要这对兄弟: #include<pthread.h> void p ...
-
IBatisNet Demo (升级from 1.1)
sqlMap.config, 要修改provider的设置 <providers resource="providers.config"/> <database& ...
-
C# 多线程 方法,类的标记
[MethodImplAttribute(MethodImplOptions.Synchronized)] 此标记可用于方法,将一个方法标记为单线程进入,但在多个实例的时候仍有可能导致问题,比较有共享 ...
-
PL/SQL Select into 异常处理
在使用select into 为变量赋值时,如果变量是集合类型,不会产生异常,而如果是基本类型或记录类型,则会报异常. 异常产生了怎么办?当然是捕获并处理啦. 对于普通的代码块来说,在代码块的结尾处理 ...
-
maven+hudson构建集成测试平台
1.下载hudson.war.2.命令行运行:java -jar hudson.war --httpPort=8070 -Dorg.eclipse.jetty.util.URI.charset=GB ...
-
poll机制分析[转]
所有的系统调用,基于都可以在它的名字前加上"sys_"前缀,这就是它在内核中对应的函数.比如系统调用open.read.write.poll,与之对应的内核函数为:sys_open ...
-
Docker----起步(2)----在Ubuntu上安装最新版的Docker CE
之前写了一篇文章关于Docker安装的博客,最近再次使用的时候,在docker的官方文档上发现最新版本的Docker(V18.03)的安装方式和之前有点区别,有一些命令发现不能用了.(真的是一天不学习 ...
-
springcloud实战案例苏宁和海信
http://springcloud.cn/view/341 为什么springlcoud不选用zookeeper: http://www.infoq.com/cn/articles/why-does ...