Написать пост Админка
Свой вход: почему я не использую OAuth и как устроена регистрация в GO_lab

Свой вход: почему я не использую OAuth и как устроена регистрация в GO_lab

В России планируют ввести штрафы за использование иностранных сервисов авторизации. Google, Telegram, VK — все под вопросом. Telegram могут заблокировать в любой момент. VK требует юрлицо и бизнес-аккаунт. Google просто кладёт болт на всех, кто не платит.

Я частное лицо. У меня нет юрлица. Я не хочу зависеть от сервисов, которые могут отключиться завтра.

Поэтому я сделал свою регистрацию. Без OAuth. Без паролей. Без хранения личных данных.

Как это работает

Вы придумываете ник. Загружаете аватарку (если хотите). И придумываете 6 цифр — простой защитный код.

Всё. Больше ничего.

Я не знаю ваше имя. Не знаю email. Не знаю телефон. Шесть цифр не привязаны ни к чему — это просто ключ, который позволяет вам зайти с другого устройства под тем же ником.

Я вообще ничего не храню. Ваши 6 цифр мгновенно превращаются в хеш — необратимую строку, из которой невозможно восстановить исходные цифры. Я не знаю и никогда не узнаю ваш код. Я просто могу сравнить хеш из базы с хешем того, что вы ввели. Совпало — ваш профиль. Не совпало — нет.

Аватарку и ник — да, храню. Но они публичные. Это то, что вы сами решаете показать.

Почему 6 цифр

Потому что это просто. Шесть цифр легко запомнить. Например, последние цифры вашего мобильного — вы их и так знаете наизусть. А можно любые другие — дату рождения ребёнка, код из SMS, что угодно. Я не проверяю откуда эти цифры. Это ваш личный ключ.

Подобрать чужой код можно, но зачем? Здесь нет личных данных, платёжной информации, ничего ценного. Это ключ от комментариев, не от квартиры. И после пяти неверных попыток ввода я блокирую вход на 15 минут.

У вас есть выбор

Путь первый: быстрая подписка. Вы вводите только ник. Всё. Вы подписаны на этом устройстве. Комментарии работают сразу. Данные хранятся в куке браузера.

Но есть нюанс. С другого телефона или после очистки cookies вы снова «незнакомец». Придётся представиться заново. Это плата за простоту.

Путь второй: постоянный профиль. Ник + 6 цифр. Хеш кода сохраняется на сервере. Вы можете зайти с любого устройства — просто введите ник и код. Кука обновится, профиль подтянется.

Хотите — используйте постоянный профиль. Хотите — оставайтесь анонимным гостем с быстрой подпиской. Выбор за вами.

Кнопка «Подписаться»

На сайте есть отдельная кнопка — «Подписаться». Она не про регистрацию. Она про уведомления.

Нажали — браузер спросил разрешение на push-уведомления. Разрешили — я смогу присылать вам уведомления о новых постах. Не чаще раза в день. Никакого спама. Только когда выходит что-то новое.

Кнопка «Подписаться» не требует ника, кода, аватарки. Это просто разрешение на пуши. В один клик.

Отписаться можно в любой момент — та же кнопка, второй клик. Или через настройки браузера.

Что под капотом

Кнопка «Подписаться» использует браузерный Push API. При согласии браузер создаёт уникальный endpoint, по которому сервер может отправлять уведомления. Endpoint сохраняется на сервере. Никаких личных данных — просто технический адрес для доставки пуша.

При быстрой регистрации сервер создаёт временную сессию и ставит куку в браузер. Кука живёт год. Пока кука жива — вы узнаны.

При постоянном профиле ваши 6 цифр хешируются (SHA256). Хранится только хеш. Оригинальные цифры не хранятся нигде. При входе с нового устройства вы вводите ник и код — я сверяю хеш. Совпало — вы узнаны, кука обновлена.

Никаких email, телефонов, паспортов, геолокаций. Я не знаю кто вы. Я просто даю вам возможность комментировать и получать уведомления.

Зачем всё это

Потому что интернет становится всё более зарегулированным. Потому что сервисы авторизации — это точки отказа. Потому что я хочу, чтобы сайт работал независимо от политической погоды.

GO_lab — эксперимент. В том числе и над тем, как сделать простую, приватную, независимую регистрацию без всего того мусора, который навязывают большие платформы.

12 0

Комментарии (0)