Как стать автором
Обновить

Комментарии 15

Пожалуйста, обязательно создавайте отдельные пути для sign-in! Это позволяет, например, улучшить работу с менеджерами паролей. Меня раздражает, когда Bitwarden предлагает подставить пароль на всех страницах сайта, просто потому что разработчики поленились сделать отдельную страницу входа.

А описанные в статье проблемы по-моему вообще не являются проблемами, ничего из перечисленного лично мне не мешает.

А ещё статья полностью игнорирует штуки вроде Single Sign-On, когда вход может выполняться вообще на другом домене через какой-нибудь OAuth или типа того

На вкус и цвет, как говорится... Мне, наоборот, нравится "бесшовная" авторизация, как например на Викимапии или pastvu. Проблем с подстановкой пароля там не видел.

А насчет OAuth - вроде бы это всё можно завернуть в iframe внутри попапчика.

К счастью сейчас полностью запретили 3rd-party cookie в iframe, поэтому "завернуть OAuth в iframe внутри попапчика" в свежих браузерах не работает.

Кто захочет делиться URL с /sign-in

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

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

Кто захочет делиться URL с /sign-in?

Я захочу сохранить её в менеджер паролей.

Обычно на сайтах есть кнопка "войти", на какую страницу она должна вести?

Почему не /sign-in ?

Автор поста утверждает что не надо создавать /sign-in

Ну видимо ни на какую, просто должна открывать форму для входа и после входа превращаться в кнопку "Личный кабинет".

За перемещение в личный кабинет отдельный котёл есть в аду.

Не соглашусь, что отдельная страница это плохо.

Страница без семантики

Может я не так понимаю слово "семантика", но у /sign-in есть смысл -- страница, где происходит авторизация. Читал, что при технической поддержке проще кинуть пользователю ссылку на страницу авторизации, чем объяснять как открыть окно с авторизацией.

Это добавляет необходимость дополнительного управления и особые случаи ошибочного или отсутствующего URL возврата.

Так вроде в приложениях это и так, и так надо делать.

Запись в истории браузера

Запись в истории можно убрать с помощью соответствующих API браузера (как это делают SPA).

Могу ещё добавить от себя совет -- разделять экраны входа и регистрации. И не подписывать кнопки "Sign up" /"Sign in", потому что они мало визуально отличаются. Login и Register подойдут гораздо лучше

Про Sign up / Sign in скажите фронтэндерам гитхаба...

Солидарен с ораторами выше по поводу KeepassXC/других менеджеров паролей. Плюс бывают иногда такие сайты [редко], где регистрация/авторизация так хитро запрятана, что попасть проще только добавив в адресной строке signin/signup

Хороший повод создавать отдельную страницу - не надо код и логику формы входа тащить на все страницы сайта, это совершенно лишнее с точки зрения ресурсов и seo оптимизации, особенно если у вас логиниться только 2-3% пользователей.

Тут весь вопрос в том показывать ли на каждой страничке, что юзер залогинен или нет.

А код то можно и не тащить, загружать динамически, при необходимости.

Ничего не мешает сделать и встроенную форму авторизации подгружаемую по требованию на любую страницу и отдельную страницу с адресом и подробными инструкциями по восстановлению/получению доступа.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий