Entry tags:
А как нынче в вебе аутентификацию принято делать?
Раньше все было очень уныло. Надеюсь, сейчас-то в браузерах появились жабоскрипт-интерфейсы для работы с SSL?
Наилучшим сценарием была бы аутентификация "как в ssh".
Не знаю, что сейчас в жабоскрипте понаделали, но я в примитивнейшем случае вижу это так:
Но как-то это криво. Для SHA512 я что-то не нашел встроенной жабоскриптовой функции, только какие-то бешеные портянки кода, где жабоскриптом считают то, что браузер умеет "из коробки" благодаря ssl и прочим подобным библиотекам.
Уже 2019 год на носу: ну какому идиоту придет в голову считать тормозным жабоскриптом то, что быстро может посчитать браузер?
Я-то разберусь, как на С реализовать server-side, но как это на клиенте сделать грамотно? Пора бы уже роботизированным телескопам хоть простую морду для управления сделать...
Наилучшим сценарием была бы аутентификация "как в ssh".
Не знаю, что сейчас в жабоскрипте понаделали, но я в примитивнейшем случае вижу это так:
- сервер генерирует случайный набор символов, скажем, 32 штуки, и отправляет клиенту;
- клиент использует это как соль, добавляя к ней MD5 своего пароля;
- клиент высылает серверу свой логин и SHA512 от полученной на предыдущем шаге строки;
- если все ОК, и у сервера получается такая же зашифрованная строка, генерируется некий идентификатор сессии, который сохраняется на сервере в БД (sqlite) и отправляется юзеру для сохранения в local storage и куках.
Но как-то это криво. Для SHA512 я что-то не нашел встроенной жабоскриптовой функции, только какие-то бешеные портянки кода, где жабоскриптом считают то, что браузер умеет "из коробки" благодаря ssl и прочим подобным библиотекам.
Уже 2019 год на носу: ну какому идиоту придет в голову считать тормозным жабоскриптом то, что быстро может посчитать браузер?
Я-то разберусь, как на С реализовать server-side, но как это на клиенте сделать грамотно? Пора бы уже роботизированным телескопам хоть простую морду для управления сделать...