Это ответ на озабоченность по поводу токенов доступа, возникшую при взаимодействии с конечной точкой Oauth2 Spotify.

Посмотрите это видео здесь:

Да, любой, кто загрузит ваше расширение Chrome, сможет увидеть ВЕСЬ код, который вы написали.

Это подводит нас к главной проблеме, которая заключается в том,

«Неужели тогда люди не смогут использовать токены доступа или даже идентификатор клиента, представленный в вашем коде?»»

Короткий ответ: «Да» на оба вопроса.

Давайте разберемся с токеном доступа.

Маркер доступа не даст вам или кому-либо доступ к действительно конфиденциальной информации о пользователе.
Никаких паролей.
Нет данных кредитной карты.

Маркер доступа будет предоставлять только информацию и разрешать изменение информации, запрашиваемой вами в параметре SCOPES запроса OAuth2.

Токен доступа можно сохранить в ОЗУ (как переменную) или в локальном хранилище для более постоянного решения.

Однако для того, чтобы токен доступа вообще циркулировал в вашем приложении, сначала должен быть токен доступа.

Чтобы сначала был токен доступа, кто-то должен сначала войти в систему с ДЕЙСТВИТЕЛЬНЫМИ УЧЕТНЫМИ УЧЕТНЫМИ ПРАВАМИ.

Итак, каждый, кто загружает ваше расширение Chrome и проверяет ваш код, сталкивается с тремя сценариями:

1. Пользователь входит в систему, используя ИХ учетные данные, что в данном случае означает, что он «ВЛАДЕТ» токеном; они могут получить к нему доступ, если захотят.

2. Пользователь входит в систему с ЧУЖИМИучетными данными, для которых у него ДЕЙСТВИТЕЛЬНО есть РАЗРЕШЕНИЕ, что в данном случае означает, что он «ВЛАДЕЕТ» токеном; они могут получить к нему доступ, если захотят.

3. ГЛАВНАЯ ПРОБЛЕМА — пользователь входит в систему с действительными учетными данными, а кто-то другой получает доступ БЕЗ РАЗРЕШЕНИЯ к расширению
Chrome — в цифровом или физическом виде. — и поэтому может получить доступ к токену пользователя; это не наша проблема.

В какой-то момент ответственность за учетные данные передается пользователю.

Наше приложение не хранит пароли пользователей и ничего, что могло бы привести к серьезной утечке данных.
Кроме того, срок действия маркеров доступа Spotify истекает через 60 минут, а наше расширение Chrome «дампы» токен каждые 60 минут.

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

Я должен повторить, мы получаем токен доступа только в том случае, если пользователь успешно входит в систему.

Они должны обеспечить безопасность своих учетных данных.

Если у них нет брандмауэра, это на них.

Если у них не установлено антишпионское/вредоносное ПО, это на них.

Если они входят в систему, отходят от своего ПК, и кто-то физически управляет их ПК, чтобы посмотреть код расширения, пока их нет, это на них.

Давайте займемся идентификатором клиента.

Это просто.

Люди могут использовать ваш идентификатор клиента для выполнения запросов к API Spotify. Они могут даже спамить это.

Однако у Spotify есть «ограничение скорости». Поэтому, если ваш идентификатор клиента делает слишком много запросов к Spotify за определенный период, для вашего приложения устанавливается «тайм-аут» на «x» секунд.

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

Если у вас есть лучший способ работы с токенами доступа (не JWT) в
расширениях Chrome, не стесняйтесь обращаться ко мне в Twitter, Instagram или по электронной почте.

Просто помните, никогда и нигде не храните ПАРОЛИ или другую действительно конфиденциальную информацию в виде простого текста.