Я делаю хромовое расширение, которое требует выборки XML-файла от защищенного сервера.
Я в настоящее время использую XMLHttpRequest () для звонка серверу
https://username:password@mydomain.com
который возвращает объект XML, который я могу проанализировать и отобразить. Я хочу, чтобы это расширение было доступно для больше, чем просто моего использования хобби, таким образом, ему нужна страница параметров, чтобы установить и сохранить имя пользователя и пароль.
Как я должен сохранить пароль пользователя в хроме так, чтобы это было безопасно? хром имеет localStorage глобальное для каждого расширения, которое позволяет дополнительным авторам хранить данные, но это хранится в простом тексте. это не позволяет расширения доступа, 'помнят мой пароль' устройство хранения данных (с серьезными основаниями).
и есть ли более безопасный способ сделать http автора? Мой текущий способ сделать вещи требует передачи имени пользователя/пароля в простом тексте в URL каждый раз, когда функция вызвана, даже если сеанс аутентификации не истек.
Идея: попросите у пользователя ключ, который вы можете использовать для симметричного шифрования значений, прежде чем помещать их в локальное хранилище. Вы также можете сгенерировать уникальный ключ для каждого клиента, основываясь на определенных уникальных аспектах его машины/браузера/ и т.д.
.проблема с просьбой о ключе состоит в том, что это означает, что необходимо будет запросить каждый раз при запуске (при хранении ключа у вас есть та же проблема). Это может быть компромиссом OK, если то, что вы защищаете, особенно чувствительно.
В целом, Chrome берет философию доверия ОС для защиты профиля пользователя, где эти данные хранятся, поэтому при использовании локального места хранения для хранения паролей, это не отличается, чем, что Chrome делает сегодня с автозаливкой пароля, историей браузера, и т.д.