Как сохранить client_secret для безсерверных приложений (Spotipy) - PullRequest
1 голос
/ 27 апреля 2020

(Примечание: теперь я знаю, что многие из вас могут выскочить вперед и быть похожими на «Эй. Дубликат. Пожалуйста, прочтите вперед!)

Фон:

Моя цель - создать приложение Python для P C, которое взаимодействует со Spotify, используя их python API Spotipy. Это, очевидно, вызывает необходимость хранить client_secret для целей аутентификации пользователя. Судя по моим исследованиям, хранить это как открытый текст где угодно - нет. Другие решения включали шифрование этих данных (но затем, где хранить этот ключ). Лучшее решение, очевидно, состоит в том, чтобы запрос аутентификации обрабатывался серверной частью сервера (я, будучи студентом, очевидно, имею в своем распоряжении миллион серверов;) ...) Если серьезно, если быть ясным, у меня нет сервера разместить это приложение на. И я не хочу тратить деньги на покупку ресурсов у AWS или других. Кроме того, чтобы уточнить, это не должно быть веб-приложение. Он предназначен для загрузки, так что пользователь может установить его, войти в Spotify и вуаля.

Проблема:

В основном, без сервера, как сделать Надежно ли хранить этот ключ? И, исходя из моего использования, есть ли необходимость надежно хранить ключ?

1 Ответ

0 голосов
/ 02 мая 2020

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

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

И, исходя из моего использования, есть ли необходимость в безопасном хранении ключа?

Если вы работаете без сервера, я вижу 2 варианта:

  • (безопасно, но неудобно), позволяющих пользователю использовать собственный идентификатор приложения / секрет,
  • (рискованно, но удобно) решите опубликовать sh идентификатор вашего приложения / Secret открыто. Поскольку каждый может создавать приложения Spotify бесплатно, на самом деле не так много секретов, кроме статистики, которую сгенерирует ваше приложение. По крайней мере, это не должно мешать вашему приложению работать, если кто-то не решит использовать свое время и деньги, чтобы достичь ограничения скорости вашего приложения.
...