2016-12-23 1 views
0

Предположим, вы создали клиента, который находится поверх API, для которого требуется токен доступа. Пользователи клиента могут подключить свой токен доступа, и жизнь прекрасна.Как хранить конфиденциальную информацию для инструмента командной строки?

Предположим, вы хотите создать простой инструмент командной строки, который выполняет команды, которые используют этот клиент. Предположим, вы хотите, чтобы этот инструмент был внешне доступен через некоторую систему управления пакетами (например, npm, pypi и т. Д.).

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

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

ответ

0

Если вы предпочитаете ограничивать, кто может загрузить ваш инструмент и оставить токен доступа к приложениям, вы можете использовать Artifactory или аналогичный продукт для настройки частного репозитория. Недостаток (помимо того, что вы ничего не можете сделать о несанкционированном перераспределении) заключается в том, что вашим пользователям необходимо будет добавить свои данные аутентификации в их .npmrc или аналогичные для подключения к частному репо, поэтому вы действительно просто ставите проблему на один удалять. И если вы пройдете через npm, вам понадобится scope ваши имена пакетов или заставить пользователей манипулировать несколькими реестрами.

Ваш инструмент также может прочитать файл конфигурации при запуске и получить токен доступа пользователя от него, например, как вы будете читать информацию о подключении для локальной базы данных. Конфигурационный файл не распространяется или отправляется в качестве образца с целью, чтобы конечный пользователь мог редактировать свои данные перед использованием.

Смежные вопросы