如何保护在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公司专业开发支持顾 ...
随机推荐
- Sybase 数据库bcp out备份重要表数据
bcp相当于逻辑备份,bcp out导出的文件,bcp in可以导回去. 环境:RHEL 5.5 + Sybase客户端软件 需求:在客户端(Linux)备份服务端(HP-UX)重要配置表数据 1.b ...
- 【Java基础】泛型
Num1:请不要在新代码中使用原生类型 泛型类和接口统称为泛型.每种泛型定义一组参数化的类型,构成格式是:类或接口名称,接着用<>把对应于泛型形式类型的参数的实际参数列表括起来.比如:Li ...
- java nio之SocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道.可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器. ...
- 将RichTextBox的内容直接写入数据库:
将RichTextBox的内容直接写入数据库: private void button1_Click(object sender, EventArgs e) { System.IO.Memory ...
- OracleHelper数据库事务处理
原理:需要开启事务的Action贴上Transaction标签,则Action执行前开启事务,Action执行完提交事务,如果Action报错,则回滚事务. OracleHelper代码: using ...
- C#根据网址生成静态页面
HoverTree开源项目中HoverTreeWeb.HVTPanel的Index.aspx文件 是后台管理的首页. 包含生成留言板首页,以及显示用户名,退出等功能. 根据网址生成页面的方法: boo ...
- C#写爬虫,版本V1.0
之前看了Sql Server中的基本数据类型,发现image这个类型还是比较特殊的. 于是乎就做了一个将图片以二进制流形式存储的程序http://www.cnblogs.com/JsonZhangAA ...
- VS2010如何使用Visual Studio Online在线服务管理团队资源(在线TFS)
前言 Visual Studio Online,也就是以前的Team Foundation Service,从名字可以看出这是一个团队资源管理服务.在微软的云基础架构中运行,无需安装或配置任何服务器, ...
- sqlserver 中存储过程的基础知识记录
1.什么是存储过程? 存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 2.为什么要用存储过程? 1)存储过程只在创建时进行 ...
- Data Structures/Algorithms 小甲鱼99讲笔记系列(1~~15讲)
参考资料地址: http://www.icoolxue.com/ 1.数据结构中四种逻辑结构. ① 集合 集合中任何两个数据元素之间都没有逻辑关系,组织形式松散. ② 线性结构 线性结构中的 结点按逻 ...