如何保护在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公司专业开发支持顾 ...
随机推荐
- Hadoop阅读笔记(七)——代理模式
关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...
- SQLServer学习笔记系列10
一.写在前面的话 生活的路很长,还是要坚持走下去,自己选择的生活,就该让这样的生活放射精彩!我不奢求现在的积累,在将来能够收获多少,至少在以后的日子里回忆起来,我不曾放弃过,我坚持过,我不后悔!最近跟 ...
- Eclipse JAVA文件注释乱码
将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同. 总结网上的建议和自己的体 ...
- PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...
- JS包装对象
一.包装对象 var s = "hello word"; s.len = 4; var t = s.len; //=>undefined 原因由于s是一个字符串,在执行第二行 ...
- Entity Framework 实体框架的形成之旅--实体框架的开发的几个经验总结
在前阵子,我对实体框架进行了一定的研究,然后把整个学习的过程开了一个系列,以逐步深入的方式解读实体框架的相关技术,期间每每碰到一些新的问题需要潜入研究.本文继续前面的主题介绍,着重从整体性的来总结一下 ...
- DevExpress的XtraReport和微软RDLC报表的使用和对比
我们开发程序的时候,经常会碰到一些报表,如果是Winform的报表,一般可以采用DevExpress控件组的XtraReport,或者微软的RDLC报表,当然还有一些其他的,在此不再赘述.由于本人在W ...
- Web端权限管理新增实用功能:批量增加操作,简单方便快速!
扩展了吉日嘎拉的Web端权限管理功能后,每次添加菜单倒没啥问题,毕竟菜单的数量有限,可是每增加一个模块.功能或者说权限控制点,就得针对各种常规操作,新增很多遍. 浪费时间,还容易出错.新增了一个字典表 ...
- PHP组件化开发
设计思想中有两种极端:大而全.小而美. 一般我们常用的库是小而美,用的框架是大而全.从Symfony实现Component式开发开始,框架的组件化逐渐成为趋势.我们可以任意的组合各种Compoent来 ...
- Oracle数据库,模糊查询、去重查询
分组去重查询,并执行某一个函数 :select 分组字段,聚合函数 from 表名 where 条件 group by分组字段 select 分组字段,聚合函数 from 表名 where 条件 g ...