Сохраните доступ и обновите токен для команды - PullRequest
0 голосов
/ 25 сентября 2019

Я планирую разработать клиент командной строки для веб-API, защищенного OAuth 2 (JWT).Токены доступа и обновления живут в течение пяти и тридцати минут соответственно.Поскольку пользователь будет использовать клиент командной строки более пяти минут на сеансе (например, сеанс тестирования или отладки), токен обновления необходимо сохранить на локальном компьютере, так что в начале требуется только одна аутентификациясеанса, а не позже.

Интересно, где можно безопасно хранить токен обновления?Текстовый файл в домашнем каталоге пользователя может показаться не слишком плохим, потому что это также место, где пользователь хранит все свои личные документы.Однако любое другое приложение, запущенное тем же пользователем, может прочитать этот токен и неправильно использовать его.

Каковы общие решения такой проблемы?

1 Ответ

0 голосов
/ 26 сентября 2019

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

...