Немного интересен тот факт, что вы рассматриваете возможность передачи некоторых подлинных данных клиенту.Если вы хотите обычное решение, то предложение KOGI на стороне сервера - это то, что вам нужно.
Но вы также, похоже, задаете вопросы об утечках памяти, связанных с предоставленными вами секретами.Хорошие вопросыНо для того, чтобы ответить на этот вопрос, я бы сказал, что это должно зависеть от браузера.Это внутренняя часть браузера, внутренняя часть движка javascript - зависит от того, где клиентское приложение (т. Е. Браузер или js в браузере) хранит значения, введенные пользователем.
Скорее всего, эти значения не копируются без необходимости во всей памяти, но нет способа гарантировать это.Помимо ответственных методов кодирования javascript, вы ничего не можете сделать, чтобы гарантировать ограничение местоположения пользовательских вводов.
Небольшое отступление
Суть в том, что если вы сохраните егона клиенте это не очень безопасно - если только сервер не хранит зашифрованную информацию на клиенте с ключом, который имеет только сервер (или пользователь с их правильными учетными данными).Таким образом, вы могли бы написать код приложения JS для аутентификации на клиенте - во многом аналогично тому, как банковская карта (раньше?) Делала аутентификацию POS, проверяя ПИН-код на ПИН-коде на карте, а не обратно в БД.Он основан на (несколько неубедительном) предположении, что пользователь не имеет прямого доступа на чтение / запись к «темной области» cookie / локального хранилища на клиенте / магнитной полосе на банковской карте.Поэтому я бы посоветовал это только в качестве дисквалификатора для ложных аутентификаторов, а не в качестве единственного квалификатора для учетных данных.
Основная точка
Если вы не хотите сохранять состояние, просто сохраните учетные данные пользователя в локальном хранилище или в виде файла cookie, но зашифруйте их с помощью ключа сервера.Когда они вам понадобятся, отправьте XHR с зашифрованными / использовать сохраненные учетные данные на сервер по протоколу HTTPS, дайте вашему серверу расшифровать их и отправьте обратному вызову.Затем передайте открытый текст HTTPS, чтобы подтвердить свою подлинность.