Безопасно ли принимать токены аутентификации в качестве параметров?

#api #security #https #access-token

#API #Безопасность #https #токен доступа

Вопрос:

Я создаю приложение для торговли акциями, которое использует API Alpaca. Я не хочу хранить имя пользователя / пароль пользователя или ключ / секрет API, чтобы избежать проблем безопасности при хранении таких ценных учетных данных в моей собственной размещенной БД.

Моя мысль состоит в том, чтобы хранить токен API локально, например, зашифрованный в локальном хранилище или с их отпечатком пальца, а затем передавать его вызову API (через HTTPS) каждый раз, когда требуется операция. Серверный API будет использовать токен, но ничего не хранить.

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

Я очень хочу услышать мнение сообщества.

Ответ №1:

Технический директор Alpaca здесь.

В официальном трекере проблем Alpaca был запрос на добавление OAuth для этого самого варианта использования.

https://github.com/alpacahq/Alpaca-API/issues/20

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