Программная защита и авторизация приложений магазина.

Автор Тема: Программная защита и авторизация приложений магазина.  (Прочитано 26498 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 1698
  • Карма: 422
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Эх, не поленился я между делом поставить Windows 7 x32 параллельно с Ubuntu 9.10 на древнющий Acer Extensa 5220, который валяется в шкафу уже пару лет. Что могу сказать: не изменился UUID после обеих инсталляций! Единственное, что Ubuntu и Windows по разному его показывают:
Ubuntu: 34C04320-76B7-11DC-A503-E5CF2AB6A82A
Windows: 2043C034-B776-DC11-A503-E5CF2AB6A82A
Что интересно, при этом, MAC-адреса обеих сетевых карт не совпадают с концовкой UUID. Также, при изменении MAC-адресов, UUID остается неизменным.

Оффлайн BearDyugin

  • ADN Club
  • ***
  • Сообщений: 240
  • Карма: 18
  • Геодезист
А какие мысли на счёт привязки к ONLINEUSERID ?
Если ПК без интернета, то пользователь не сможет войти в учётку?
На скольких машинах одновременно пользователь может быть одновременно авторизован?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8765
  • Карма: 1077
  • Рыцарь ObjectARX
  • Skype: rivilis
Если ПК без интернета, то пользователь не сможет войти в учётку?
А проверить? Отключи интернет и запусти AutoCAD. У меня ONLINEUSERID не изменился при запуске при отключенной сети.

На скольких машинах одновременно пользователь может быть одновременно авторизован?
А вот на это я бы не стал рассчитывать. 
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BearDyugin

  • ADN Club
  • ***
  • Сообщений: 240
  • Карма: 18
  • Геодезист
А проверить? Отключи интернет и запусти AutoCAD. У меня ONLINEUSERID не изменился при запуске при отключенной сети.
Проверял конечно, если ранее входил в учётку то всё норм. А если выйти то без интернета уже не войти, впрочем как и не выйти
А вот на это я бы не стал рассчитывать. 
Вот тут и не понятно, смогут ли под одним аккаунтом войти 10 ПК в отделе? Т.е. купив одну лицензию, пользоваться под одной учёткой всем отделом? Пусть даже не разом, а по очереди, потом отключить интренет и можно пользоваться?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8765
  • Карма: 1077
  • Рыцарь ObjectARX
  • Skype: rivilis
Вот тут и не понятно, смогут ли под одним аккаунтом войти 10 ПК в отделе? Т.е. купив одну лицензию, пользоваться под одной учёткой всем отделом? Пусть даже не разом, а по очереди, потом отключить интренет и можно пользоваться?
Об этом я и написал, что рассчитывать на это нельзя. Раньше на форум Autodesk можно было зайти из разных мест под одной учеткой одновременно. Сейчас нельзя. Что придумают очередное с этим - я прогнозировать не берусь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BearDyugin

  • ADN Club
  • ***
  • Сообщений: 240
  • Карма: 18
  • Геодезист
Пытаюсь разобраться с покупкой через магазин.
Создал платное приложении,пока не опубликовано.
Попросил "кураторов" добавить мой ID в список "оплативших"

Я: I need to have any ID added to the database that bought my application so that I can conduct the tests.
К:For this paid app (https://apps.autodesk.com/ACD/en/Detail/Index?id=7024841255247590068&appLang=en&os=Win32_64&mode=preview) you would like to implement the Entitlement API and also test, right?
Please provide me your “user id/email id” from which you would like to test. I will enable the entitlement for that email id.
Я:user id: 201011031059843
email: 89139290787@mail.ru
К:I have added the email id “89139290787@mail.ru” now this user is entitled to access this paid app “Import \ Export coordinates”
вместе с этим получил 2 автоматических письма:
Цитировать
Dear Bear Dyugin,

You are now entitled to download and use Import \ Export coordinates. Please use this link to download your new app.

Please contact appsinfo@autodesk.com if you have any problems or have any other questions regarding Autodesk App Store.

Sincerely,
Autodesk App Store Team.
И
Цитировать
Dear Bear Dyugin,

The following users are now entitled by Autodesk App Store admin to download Import \ Export coordinates

89139290787@mail.ru


Please contact apps.customersupport@autodesk.com if you have any problems or have any other questions regarding Autodesk App Store.

Sincerely,
Autodesk App Store Team

Т.е. ни каких userid про которые писал Николай в письме я не вижу
 
The following users are now entitled by Autodesk App Store admin to download ...
ну и если потом попользоваться их ID :):):) для проверки валидности, то возвращает true.

Ну всё равно пытаюсь:
https://apps.autodesk.com/webservices/checkentitlement?userid=201011031059843&appid=appstore.exchange.autodesk.com:Import%20\%20Export%20coordinates
Получаю false:
{"UserId":"201011031059843","AppId":"appstore.exchange.autodesk.com:Import \\ Export coordinates","IsValid":false,"Message":"Ok"}
На всякий случай проверяю с emailid:
https://apps.autodesk.com/webservices/checkentitlement?emailid=89139290787@mail.ru&appid=appstore.exchange.autodesk.com:Import%20\%20Export%20coordinates
Получаю неверный параметр:
{"AppId":"appstore.exchange.autodesk.com:Import \\ Export coordinates","IsValid":false,"Message":"Invalid parameter(s)."}

Куратору конечно опять написал, но я ему только три дня объяснял, зачем моё(или любое) userid добавить в базу "купивших"
Может тут быстрее кто-нибудь подскажет?


Оффлайн BearDyugin

  • ADN Club
  • ***
  • Сообщений: 240
  • Карма: 18
  • Геодезист
Получил ответ
Цитировать
Hi Berdyugin,

Unfortunately, I am not the right guy to help you with programming as I do not have programming expertise ☹

If you are an ADN member you can post your query to API support or you can try using the API forum and someone would certainly help you.

Sorry,

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 208
  • Карма: 28
приложение уже лежит в магазине, но просто не в открытом доступе? тогда просто нужно
1. залогиниться в магазине
2. зайти в свой "publisher corner"
3. найти свое приложение. в строке будет кнопка (ссылка) Manage. Нажать
4. откроется страничка настроек приложения. верхний левый угол - там будет имя приложения (вот не уверен, что и сейчас также. чего-то они там меняли). попробуй вставить в строку запроса то имя, которое указано на страничке. ну и там же есть справа закладка "Download Entitlement Management"


у меня две регистрации в магазине. вот email, привязанный к тестовому аккаунту я и добавил. а USERID тестового аккаунта вытащил из переменной автокада, предварительно войдя в акаде в автодесковский аккаунт. как-то так.

PS: про переменную emailid первый раз слышу. судя по возврату checkentitlement, она тоже не в курсе :)
PS2: userid соответствует email-у, или это два разных пользователя?

Оффлайн BearDyugin

  • ADN Club
  • ***
  • Сообщений: 240
  • Карма: 18
  • Геодезист
откроется страничка настроек приложения. верхний левый угол - там будет имя приложения
там только id
Вставил его после appid=appstore.exchange.autodesk.com: не помогло
Потом сразу как id
https://apps.autodesk.com/webservices/checkentitlement?userid=201011031059843&appid=7024841255247590068
И всё заработало!
{"UserId":"201011031059843","AppId":"7024841255247590068","IsValid":true,"Message":"Ok"}

Спасибо :-)

Кнопки "Добавить холявщика" пока нет, может после публикации появится.


Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 208
  • Карма: 28
это замечательно. единственное, что еще следует уточнить у автодесковцев - не поменяется ли это appid после публикации приложения. это я к чему. у меня вроде бы тоже есть одно приложение с цифровым appid. но достукиваюсь я до него через имя а не порядковый номер. просто если номер закреплен статически, то все ок, а вот если он может поменяться, то есть вероятность, что пользователи начнут нервничать из-за того, что приложение вдруг перестанет работать

кстати, обрати внимание на название приложения и на то, что пишется в строке браузера. в браузере двойной слэшь вместо одинарного. может быть в этом была проблема

Оффлайн BearDyugin

  • ADN Club
  • ***
  • Сообщений: 240
  • Карма: 18
  • Геодезист
кстати, обрати внимание на название приложения и на то, что пишется в строке браузера. в браузере двойной слэшь вместо одинарного. может быть в этом была проблема
Да я заметил, но в адресе один слэш, это в ответе 2, но там значение в "" типа текстовое, а в текстовых слэшь типа служебный симвл, потому их и 2...

Оффлайн Николай Горлов

  • ADN
  • *
  • Сообщений: 208
  • Карма: 28
Цитировать
в текстовых слэшь типа служебный симвл, потому их и 2
вот оно и ищет пользователя для приложения, в имени которого два слэша :), а таких нет

еще символ слэша можно заменить на %5С, но в данном случае это не поможет, я проверил. скорей всего у них там стоит парсер на введенный текст (типа защита, чтоб нельзя было залезть, куда не следует простому человеку лазить :) ). ну и этот самый парсер добавляет еще 1 слэш. а вот с "/" (%2F) таких проблем нет. его не умножает. но это так, для будущих программ, на заметку :)

Оффлайн Madison1982

  • ADN OPEN
  • Сообщений: 2
  • Карма: 0
Добрый день.
Подскажите более детально, как организовать защиту файла LISP с помощью UUID?
Пытаюсь применить функцию Get_UUID, по аналогии с vk_GetMacAddress, но пишет ошибку:
; error: bad argument type: listp "292910C0-D7DA-11DD-A740-C8600098E960"когда вставляю свой UUID для проверки. Наверняка проблема с типом данных, но мой уровень владения LISP пока не позволяет решить эту проблему самостоятельно. Буду признателен за помощь.
Код - Auto/Visual Lisp []
  1. (vl-load-com)
  2. (and
  3. (defun Get_UUID (/ LocatorObj ServiceObj ObjectSetObj UUID)
  4.   (setq LocatorObj
  5.          (vlax-create-object "WbemScripting.SWbemLocator")
  6.   )
  7.   (setq ServiceObj
  8.          (vlax-invoke
  9.            LocatorObj 'ConnectServer nil nil nil nil nil nil nil nil)
  10.   )
  11.   (setq ObjectSetObj
  12.          (vlax-invoke
  13.            ServiceObj
  14.            'ExecQuery
  15.            "SELECT UUID FROM Win32_ComputerSystemProduct"
  16.          )
  17.   )
  18.   (vlax-for Obj ObjectSetObj
  19.     (setq UUID
  20.            (vlax-get Obj 'UUID)
  21.     )
  22.   )
  23.   (foreach Obj
  24.                (list LocatorObj ServiceObj ObjectSetObj)
  25.     (and Obj (vlax-release-object Obj))
  26.   )
  27.   UUID
  28. )
  29.   (vl-position "292910C0-D7DA-11DD-A740-C8600098E960" (Get_UUID))
  30.  
  31.   (defun C:...
  32.   ...код основной программы
  33.   ) ; end of defun
  34. ) ; end of and
  35.  
« Последнее редактирование: 28-05-2018, 22:58:41 от Александр Ривилис »

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 775
  • Карма: 121
Функция get_uuid возвращает строку. А ты пробуешь с ней работать как со списком. Тут либо
Код - Auto/Visual Lisp []
  1. (vl-position "292910C0-D7DA-11DD-A740-C8600098E960" (list (Get_UUID)))
либо
Код - Auto/Visual Lisp []
  1. (= "292910C0-D7DA-11DD-A740-C8600098E960" (Get_UUID))
« Последнее редактирование: 28-05-2018, 23:00:13 от Алексей Кулик »
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 8765
  • Карма: 1077
  • Рыцарь ObjectARX
  • Skype: rivilis
Madison1982
Прочитайте у меня в подписи как следует форматировать код для форума и соблюдайте это правило.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение