Управление сеансами с помощью Firebase?
Я создаю базовый webapp с использованием Firebase, который требует проверки подлинности и сеанса. Перейдя по документам для Firebase Auth, я решил использовать опцию адрес электронной почты/пароль для входа в Facebook.
При успешном входе в систему мы получаем token
, который может быть снова использован для входа в систему, когда страница обновляется или на новой вкладке используется auth()
. Но для этого нам нужно будет сохранить токен где-то на стороне клиента. Исходя из исходного кода для Firefeed, который реализует обработку авторизации и сеанса, token
сохраняется в localStorage
браузера пользователя.
Насколько безопасен этот подход? Поскольку данные localStorage
будут видны всем, кто использует браузер. Есть ли лучшая альтернатива этому?
Ответы
Ответ 1
Токены, возвращаемые Простым входом, - это токены, специфичные для пользователя. Если они скомпрометированы, они в худшем случае позволят злоумышленнику выдавать себя за этого пользователя в течение ограниченного периода времени. Они не содержат пароль пользователя или другие конфиденциальные данные.
localstorage может быть доступен только Javascript в домене хоста, из которого он был сохранен, поэтому другие сайты, которые вы посещаете, не будут иметь к нему доступа (при условии, что браузер или ваш сайт не были скомпрометированы, но если они есть, все ставки отключены...)
Итак, короткий ответ, этот подход достаточно безопасен.