Скрыть ключ api для страницы Github

У меня есть страница github для моей организации, где я бы хотел вызвать данные из стороннего api, где мне нужен токен аутентификации. Могу ли я опубликовать эту страницу github, не имея токена аутентификации, отображаемого в публичном репо?

Ответы

Ответ 1

Короче говоря, нет. Если ваше репо GitHub открыто, все его активы являются общедоступными. Вы можете сделать репо частным, и он все равно будет публиковаться на страницах GitHub, если он указан с помощью соглашения username.github.io или если он имеет ветвь gh-pages. Хотя это вариант, это необязательно то, что нужно делать.

Если ваш ключ находится в вашем репозитории GitHub Pages, он звучит так, как будто он используется для вызовов API на стороне клиента в JavaScript. Если это так, ваш токен аутентификации общедоступен, будь то в вашем публичном репо или отправлен в ваших клиентских файлах в браузер. Это нормально. Сторонний API мог бы генерировать токен аутентификации на основе вашего домена вашего сайта и ограничивать вызовы, используя этот токен, на страницы, происходящие из вашего домена. В противном случае они могут потребовать токен аутентификации только для регистрации запросов и мониторинга использования.

Если токен аутентификации действительно предназначен для частного доступа, вам может понадобиться написать частный серверный код для вызова стороннего API. Ваш сайт GitHub Pages мог бы поразить вашу службу за нужные ему данные. Я должен был сделать это до того, где у веб-API были проблемы с безопасностью, но мне все еще нужно было получать нечувствительные данные с клиентской стороны.