Я внедрил JWT в бэкэнд моего программного проекта, и это работает хорошо. Приложение построено на торнадо, и у меня есть обработчик / auth, который может аутентифицироваться в базе данных, которая использует werkzeug.security для подсчета паролей, а затем распределяет JWT с такими элементами, как user_id и role_id. API работает хорошо. В настоящее время я тестирую и разрабатываю это с помощью клиента почтальона.
Теперь мне нужно подумать о том, как кодировать обработку аутентификации на стороне клиента, которая является приложением CLI. Я не хочу раскрывать слабые места безопасности при рассмотрении того, как клиент управляет своим сеансом, сначала представляя комбинацию пользователя и пароля. Будет ли это лучше всего храниться в файле стиля .config или иметь аргументы --username и --passsword (я не уверен, что мне нравится такой подход)? Я обычно предпочитаю файл, но не хочу, чтобы учетные данные были в виде простого текста.
Канал связи между CLI и Rest API проходит через TLS.
Что такое достойный безопасный метод для обрабатывать это для CLI?
Я дошел до переменных env до os.getenv
, так как таким образом будет проще позволить системам сборки легко интегрироваться, и у них будут свои собственные встроенные средства защиты.
ps Я много раз искал по этой теме c, но большинство результатов касаются обработки этого в браузере.