Задать вопрос
@Emeralldo
Junior Vue.js developer

Как сделать авторизацию без использования сервера?

Необходимо сделать простую авторизацию.
При вводе любого логина/пароля генерировать токен и сохранять в localStorage. Без
токена не пускать пользователя на сайт. Я использую Vue-cli-3, и не совсем понимаю как туда прикрутить сервер и запросы к нему, поэтому планирую сделать все через клиентскую часть. Как вариант - хранить данные о пользователях (логин, пароль зашифрованный, токен и информацию) в том же LocalStorage или в SessionStorage, а токен активного пользователя - в куки или сессию, и сравнивать их между собой. Я почти уверен что это неправильно, можете подсказать варианты? Вариант с сервером и бд не нужен, необходимо просто реализовать функционал, описанный выше
  • Вопрос задан
  • 528 просмотров
Подписаться 2 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 3
b0nn1e
@b0nn1e
Alcohol & Ruby on Rails
Как сделать авторизацию без использования сервера?

никак
Ответ написан
Комментировать
darakanoit
@darakanoit
По сути,можно завести какой-нибудь текстовый файл с логинами и паролями(пользователями)
и валидировать по нему.
Всё это дело зашифровать и вперёд.(Чисто в теории)
Ответ написан
Комментировать
@rPman
Без серверная авторизация возможна, это когда вы генерируете приватный ключ ассиметричного шифрования (когда на клиенте 'создаете аккаунт') а публичный отправляете 'всем кто будет хотеть читать ваши сообщения', т.е. шифруя сообщения и вообще всю коммуникацию своим приватным ключом, прочитать его смогут только те кто будет расшифровывать их вашим публичным ключом (и кстати наоборот, чтобы вам послали сообщение - отправитель шифрует его публичным ключом, а вы расшифровываете его приватным).

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

Главная проблема, которую решают например децентрализованные сети по типу dht или как это сделано в криптовалютах, это в принципе организация передачи сообщений и первичная синхронизация, - нужно к кому то самому главному подключиться... т.е. сервер вам хоть какой то нужен, но не для авторизации а просто для коммуникации.

И конечно же главное неудобство для пользователя - его аккаунт не хранится где то на сервере, а размещен на диске пользователя, и для 'подключения' с другого усстройства необходимо эти приватные и публичные ключи как то синхронизировать между ними.

p.p.s. не майтесь дурью, сделайте все правильно на сервере.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы