Я решил попробовать управлять выпусками одного из моих приложений на GitHub, так как с помощью действий GitHub я могу использовать Ma c, Linux и Windows и автоматически отправлять артефакты в GitHub. Страница релизов, где каждый может go и загрузить приложение с.
Однако я хочу, чтобы мое приложение самообновлялось, поэтому само приложение также должно иметь возможность запрашивать последнюю версию в репозитории. выпуски, а затем загрузите соответствующий ресурс для операционной системы пользователя ... который, как я думал, не представляет проблемы ... однако нет способа получить доступ к GitHub API v4 без приложения OAuth или маркера личного доступа.
Я не хочу приложение OAuth, потому что пользователи моего приложения абсолютно не должны быть клиентами GitHub. Поэтому я попытался использовать токен личного доступа, единственной областью которого был доступ к ресурсам публикации publi c (опять же, это ресурс publi c, который любой может go загрузить и загрузить вручную).
Как этот токен не может делать ничего, что вы или кто-либо другой не можете сделать вручную, даже без учетной записи GitHub, я думал, что было бы неплохо добавить токен в исходный код моего приложения, но GitHub отзывает токен, когда обнаруживает его на коммите.
Есть ли хороший способ обойти это? Должен ли я поместить токен в секрет GitHub, а затем попытаться заменить его во время компиляции ?? Я хотел избежать этого, так как это затрудняет мне локальное тестирование приложения, а также ничего не решает, так как любой может легко декомпилировать приложение и найти там токен (предположим, что GitHub не обнаружит секрет в «обработанные» источники во время компиляции).
Любые предложения будут оценены.