2015-09-22 4 views
7

Будет ли безопасно хранить токен API, возвращенный вызовом аутентификации в хранилище Flux (в частности, Redux)? Я использовал Webpack для компиляции всех активов в проекте, что, по моему мнению, означает, что хранилище недоступно вне сторонних скриптов, которые хотят прочитать хранилище и извлечь токен.Знаки API безопасны в магазине Flux (Redux)?

И, для чего это стоит, токен отправляется через HTTPS в заголовок Authorization: bearer ....

+1

Абсолютно нет. По крайней мере, если только ваш ключ API не будет рассмотрен кем-либо. Любой пользователь может получить доступ к данным в клиентской JS в любое время (например: hrome dev tools). –

+0

Прочтите это; http://stackoverflow.com/questions/20963273/spa-best-practices-for-authentication-and-session-management –

ответ

7

Если на странице выполняются ненадежные сторонние скрипты, вы должны предположить, что ничего не безопасно, так как вся целостность страницы скомпрометирована.

Если работают только доверенные сценарии, вы можете предположить, что ваш токен безопасен, с учетом безопасности браузера и безопасности вашего сайта от атак XSS.

EDIT:

Чтобы уточнить, это безопасность от скриптов 3 участника. Если вы пытаетесь скрыть свой токен от самого пользователя, тогда ответ будет заключаться в том, что он всегда будет небезопасным, независимо от того, насколько вы запутываете свой код, поскольку, если машина пользователя имеет к нему доступ, то в конечном итоге пользователь может иметь к нему доступ (вы можете сделать это сложнее, но не невозможно).

+1

@Carson Я хотел бы добавить к этому, что ничто, хранящееся в JS, никогда не должно считаться безопасным , потому что любой скрипт, имеющий доступ к вашей странице, теоретически может получить доступ к скрипту/области. Я согласен с Тревором; это действительно сводится к тому, насколько хорошо вы доверяете скриптам, запущенным на вашей странице. –