如何保護在Autodesk應用程式商店的應用不被盜版 - 1

峻祁連發表於2014-03-25

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。

image

但是這個userid從哪兒來呢?

大家知道現在幾乎所有Autodesk產品都可以讓使用者用他們的Autodesk ID登入。比如AutoCAD如下圖。你的App即AutoCAD外掛就可以檢測這個使用者的userid,然後判斷他是不是有權使用這個外掛,如果他真的是付費下載的,那就給他用,否則的話,哼哼。。

好了,對於AutoCAD來講獲取userid簡單一些,你可以通過下面這個沒公開的系統變數,ONLINEUSERNAME 和 ONLINEUSERID.不過對於Revit 和Inventor等其他產品沒有這樣的系統變數可用,目前就只能通過實現Autodesk OAuth讓使用者再登入一遍了。稍後我們還會詳細講AutodeskOAth的實現。同時我也在和開發部協調來提供更方便的API.

 clip_image002

 

對Web服務型別的App,如果釋出一web服務型別的app,也就是隻有一個URL的app,你會注意到你可以選擇登入型別。如果你選擇使用自己的使用者系統,那麼對於授權管理則需要你自己完全實現。你還可以選擇使用Autodesk ID登入,這樣使用者直接使用他們的Autodesk ID就可以登入到你的web應用,你就不用自己維護使用者資料庫等等了,而且你還可以使用上面提到的API來檢查這個使用者是否購買了你的app。當然要讓使用者使用他們的Autodesk ID登入你的web應用,你需要實現Autodesk OAuth,同時通過Autodesk OAuth你可以獲取使用者的userid來進行授權檢查。

image

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

 

 

相關文章