Вашим пользователям не нужны пароли

    Rusty lock


    Зачастую, одно из первых архитектурных решений, принятых в начале разработки вашего сайта — будет использование email + password для авторизации пользователя. Эта связка прочно засела в наши головы, и мы уже на задумываемся, зачем мы заставляем людей придумывать пароль. Мы привыкли так делать.


    Но давайте подумаем, возможно, вашим пользователям не нужны пароли.


    Одно из возможных решений, это использовать OAuth 2.0, но не у всех пользователей может быть аккаунт в социальной сети и желание его использовать на вашем ресурсе.


    Но как-же тогда избавиться от пароля? На этот вопрос, я и попробую ответить в статье.


    А в чем проблема?


    Единственный защищенный пароль — это тот, который вы не в силах запомнить.

    Troy Hunt

    Сам по себе пароль уже является проблемой. Он не выгоден, ни вам, ни вашим пользователям.


    Для владельца сайта пароль не выгоден тем, что его хранение создает дополнительную уязвимость в системе. Каким бы сильным ни был ваш хеширующий алгоритм (и упаси вас господь, не использовать его) рано или поздно он станет пустяком для новых GPU, а в последствии и CPU. А если ваша база данных утечет в сеть, то это нанесет колоссальный удар по вам и вашим посетителям. Без паролей же база становится в разы менее лакомой добычей.


    Для посетителей вашего сайта, пароль — это дополнительные трудности. Неопытные пользователи будут лишний раз использовать свой "обычный" пароль, повышая риск потерять его. А продвинутые пользователи будут вынуждены придумывать специальный пароль для вашего сайта или пользоваться менеджером паролей.


    Сам по себе феномен менеджеров паролей, это уже костыль, который должен нам был показать всю не востребованность и неэффективность повсеместного использования паролей.


    Помимо этого, вы можете дополнительно отравить жизнь вашим пользователям, заставив их периодически менять их, или запретить / заставить использовать специальные символы.


    Как же быть?


    Ответ — не использовать пароли. Вам достаточно знать только email пользователя.


    При регистрации на сайте, вы так или иначе завязаны на пользовательской почте. Вы высылаете на нее письма с подтверждением, что пользователь является владельцем аккаунта; вы используете его для сброса пароля.


    Сброс пароля уже звучит как оксюмороном. Ведь для того, чтобы задать новый пароль достаточно лишь получить письмо на email. Все. Так и зачем же вы заставляли пользователя придумывать пароль, менять его и использовать только угодные вам символы?


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


    Да и современные email сервисы в разы более защищены и подготовлены к атакам, чем регулярный сайт с котиками. Доверьте хранение и защиту пароля профессионалам.


    Решение


    Рассмотрим пример простого сайта с PostgreSQL в качестве базы данных.


    Нам будет достаточно двух таблиц (с минимальным набором полей):


    users:


    Имя поля Тип данных Атрибуты
    id serial PRIMARY KEY
    email varchar(320) UNIQUE

    sign_in_requests:


    Имя поля Тип данных Атрибуты
    id serial PRIMARY KEY
    email varchar(320)
    token uuid UNIQUE
    request_ip varchar(45)
    activated_at timestamp NULLABLE
    expired_at timestamp

    Несколько комментариев на счет таблиц:


    • Таблица sign_in_requests может (и должна) быть общей с "Sign Up" таблицей, т.к. в этой системе их роль идентична.
    • Исходя из пункта выше, в sign_in_requests отсутствуют внешние ключи, а поле email дублируется.
    • token не обязан быть uuid'ом, вы можете сделать и более короткие токены, которые можно даже ввести вручную. Но в этом случае вероятность коллизии и его надежность могут значительно ухудшиться.
    • request_ip — опциональное поле, используется только для rate limit'а, или дальнейшего выяснения причин.

    Процесс авторизации весьма прост:


    1. Пользователь вводит свой email и делает запрос.
    2. Вы генерируете sign_in_request, и высылаете на почту пользователя ссылку вида: https://example.com/signin/callback/email/{{token}}.
    3. Пользователь, перейдя по этой ссылке делает запрос к вашей базе на наличие такого token'а.
    4. Если такой токен есть, он не просрочен, не использован, и он последней с таким email (опциональная защита от Brute Force), то считаем, что все хорошо.
    5. Выставляем activated_at=now(), чтобы предотвратить множественное использование токена.
    6. Далее, все так-же, как и в системе с паролями, вы можете дать пользователю cookie / JWT / etc.

    В качестве защиты от спама письмами, можно сделать рейт лимит, или не высылать письмо чаще чем раз в 10 минут.


    Для кого?


    Кому стоит использовать данную технику:


    • Подавляющему большинству сайтов в интернете, в том числе блогам / новостным сайтам / форумам.
    • Корпоративным сайтам, где ваши пользователи уже используют вашу внутреннюю почту.
    • Сервисам, который используется периодически, но не часто: сайт интернет провайдера / оплата услуг на месяц.

    И не стоит использовать данную технику:


    • Когда вы сами являетесь email сервисом.
    • Ваш основной клиент — это мобильное приложение / Smart TV / IoT. В этом случае, возможно, стоит оставить опциональную возможность использования пароля.

    Финальные слова


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


    Источник изображения: https://pixabay.com/en/padlock-grunge-rusty-rusting-76866/
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 502
    • +2

      В таком случае на почтовые сервисы ляжет двойная ответственность.
      А вообще, концепция имеет место быть, тоже задумывался о таком.

      • +16

        А на них и так вся ответственность. Если у вас предусмотрен сброс пароля, считайте у вас и нет нужды в нем.

        • +9
          Если у вас предусмотрен сброс пароля, считайте у вас и нет нужды в нем.

          Сброс пароля бывает не только через почту.


          А еще есть разница между "открыть сайт, нажать кнопку ввода пароля, войти" и "открыть сайт, нажать кнопку, пойти в почту, нажать ссылку, войти".

          • 0

            Бесспорно, этот путь длиннее. Но если на сайте достаточно длинные сессии, то, думаю, это может нивелировать данный минус.

            • +1
              Но если на сайте достаточно длинные сессии, то, думаю, это может нивелировать данный минус.

              Не может. Все равно необоснованно много операций ради чего?

              • +5

                Ради отказа от бесконечного количества паролей и их менеджеров. Просто другой путь.

                • 0

                  Вы так говорите, как будто пароль в почту не надо менеджить (а если на него все завязано, то ведь его надо менеджить еще сильнее).

                  • +2

                    Что вы понимаете под менеджментом пароля для почты? Я говорил о программах-менеджерах, которые генерируют и хранят ваши пароли от учетных записей.


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

                    • 0
                      Что вы понимаете под менеджментом пароля для почты? Я говорил о программах-менеджерах, которые генерируют и хранят ваши пароли от учетных записей.

                      Вот про это я и говорю. Пароль от почты же тоже надо где-то хранить; особенно учитывая, что это не единственный пароль, который надо хранить. Так что менеджер все равно нужен. А если он есть, то уже не важно, сколько паролей хранить.

                      • 0

                        Сомнительно, я спокойно запомнил все пароли от своих email'ов, хоть они и сгенерированны. Это был лишь вопрос времени.


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


                        Но оба подхода не спасут ни от стикера на мониторе, ни от masha123456.

                        • +1
                          Сомнительно, я спокойно запомнил все пароли от своих email'ов, хоть они и сгенерированны. Это был лишь вопрос времени.

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


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

                          А почему вы думаете, что у такого пользователя будет сильный пароль на почту?

                          • 0
                            А почему вы думаете, что у такого пользователя будет сильный пароль на почту?

                            Да я и не думаю так, но так есть хоть какая-то надежда обезопасить такого гражданина.

                            • +2

                              Если у него слабый пароль на почту, то принудительно привязав сервисы к почте вы его не обезопасили, а наоборот.

                              • 0

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

                                • –2

                                  Но ухудшать-то зачем? Если на нашем сервисе сильные требования к паролям и нет возможности восстановления через почту — нам искренне пофиг, насколько слабый пароль у пользователя на почту.

                                  • +4

                                    Да, потому, что он забудет свой "сильный пароль" или напишет его на стекер (и потеряет его), а потом будет дергать саппорт с требованием восстановить ему пароль.


                                    А практика с "ваш пароль недостаточна сильный", я считаю одним из проявлений садизма.

                                    • +1
                                      Да, потому, что он забудет свой "сильный пароль" или напишет его на стекер (и потеряет его), а потом будет дергать саппорт с требованием восстановить ему пароль.

                                      Пусть дергает. Это лучше, чем потеря критических данных.


                                      А практика с "ваш пароль недостаточна сильный", я считаю одним из проявления садизма.

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


                                      Вопрос ведь в критериях сильного пароля, а не в самой практике.

                                      • +3
                                        Пусть дергает. Это лучше, чем потеря критических данных.

                                        Очень спорное высказывание, т.к. зависит от множества факторов.


                                        А иначе вам как-то придется бороться со слабыми паролями.

                                        А зачем, пользователь все равно найдет как его "подарить".


                                        Мне кажется, мы с вами уже уперлись в тупик обсуждения. Мне абсолютна ясна ваша позиция, и я надеюсь, что вы хотя бы допускаете, что моя теория имеет место быть.


                                        Во всяком случае, мне было очень приятно с вами подискутировать, и обсудить возможные недостатки предложенной выше системы.


                                        Если вы не против, продолжим завтра.


                                        А пока, хорошего воскресения, и добрых снов :).

                                        • –1
                                          А иначе вам как-то придется бороться со слабыми паролями.
                                          А зачем, пользователь все равно найдет как его "подарить".

                                          То есть ваш подход — это всего лишь прикрытие собственной задницы перед начальством или заказчиком, когда поломают вашего пользователя, — мы не виноваты, пользователь проэ… мотал не наш пароль, а почтовый.
                                          Не решение проблемы, а просто спихивание ответственности.

                                          • –1
                                            Очень спорное высказывание, т.к. зависит от множества факторов.

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


                                            А зачем, пользователь все равно найдет как его "подарить".

                                            Чтобы избежать тривиальных ошибок.

                                          • +3
                                            Пусть дергает. Это лучше, чем потеря критических данных.

                                            Да, помню эту историю.


                                            Чувак потом рассказывал что он потерял фотографии своей дочки из-за того что кто-то сумел уболтать саппорт и получить доступ к его эпловой учётке.

                                        • –2
                                          Хочется верить, что с таким подходом и пользователям искренне пофиг на вас и наш сервис, чего бы вы там ни предоставляли.
                        • 0
                          Пользователям у которых много разных email аккаунтов всё равно придется запоминать или записывать связку url -> email. Конечно это проще чем url -> email / password, но все равно менеджер может еще понадобится.
                          • 0
                            Возможно, это сократит колличество паролей. Но Вы, видимо, подразумеваете, что почтовый клиент у пользователя забирает почту без необходимости ввода пароля. Если же нет, то человеку нужно будет пройти дополнительные шаги авторизации в почте.
                            Если же ориентироваться на длинную сессию в почте, то такой же подход можно применить и на сайте.
                            У нас на одном из сервисов сессия сохраняется более суток и подавляющему большинству пользователей не приходится часто вводить пароли.
                            Такой подход, возможно, больше подходит для временных аккаунтов или там, где нет необходимости в регистрации.
                        • 0
                          Этот путь не просто длиннее, он сложнее. Вам надо ещё и сделать свой сайт настолько интересным пользователю, чтобы более сложная аутентификация не отбила желание пользоваться вашим сервисом/ресурсом. Благо, у вас скорее всего будут конкуренты без этих хлопот.
                          Вы же забываете, что пользователю в общем случае не сложно придумать и потом вводить пароль. И не сложно его запомнить. Знаете почему? Потому что пароль к вашему сайту у него в подавляющем большинстве случаев будет такой же, как и ко всем другим аналогичным сайтам, и вполне вероятно, к его почте и онлайн-банкингу. А вы вместо того, чтобы вводить привычное слово, предлагаете пользователям квест «зайди в почту, найди наше письмо, открой письмо, перейди по ссылке. И желательно потом не забудь удалить письмо»
                      • +3
                        Понимаете, с одной стороны — ваша мысль интересна. С другой — неудобна. очень неудобна. Если, допустим, я каждый раз буду вынужден делать ЛИШНИЕ движения в виде проверки почтового ящика, для авторизации на каком-то ресурсе, то я просто через некоторое время перестану им пользоваться. Люди вообще ленивы сами по себе (отсюда и пульты управления бытовой техникой), поэтому любое лишнее движение будет воспринято отрицательно. Тем не менее было бы интересно провести где-то эксперимент и посмотреть на результаты.
                        • +2
                          Вечные куки в большинстве случаев решат проблему :)
                          Сервисы, любящие ставить куки на две недели, это отдельная беда, конечно.
                          • 0
                            Что-то мне подсказывает, что можно (нужно и стоит) при использовании такой схемы оставить пользователю в профиле тычку/галку/слайдер вида «Помнить меня день/неделю/месяц/год/до посинения»
                            • 0
                              Это Вы не видели игру The Settlers Online — она разлогинивается через пару часов!

                              Хотя вечные куки — это проблема на компьютере коллективного пользования.
                              • 0

                                А какая разница будет кука на 15 минут или на 100 лет, если через минуту за комп может сесть другой человек? Для девайсов коллективного пользования должна быть хорошо заметная кнопка "выйти".

                                • 0
                                  Ну, есть же правильное решение: кука существует до закрытия браузера. Закрыл браузер = разлогинился автоматически.
                                  • 0

                                    Очень не удобно на девайсе личного пользования.

                                    • +1
                                      Ну так это надо оставить на усмотрение пользователя. Но по умолчанию д.б. «до закрытия браузера».
                                      И этот выбор должен настраиваться так, что при заходе с нового устройства надо заново выставить опцию «хранить куки и после закрытия браузера». А по умолчанию на каждом новом устройстве куки хранятся до закрытия — независимо от того, какой выбор я делал на других устройствах, где работал раньше.
                          • +1
                            Электронная почта это много независимых почтовых серверов + набор необязательных к исполнению соглашений — доставка отдельно взятого письма вообще никем и никогда не гарантируется, оно может уйти в /dev/null по дороге, доставка задержаться, упасть в спам и тп, для реализации вашей же идеи необходима идеально работающая почта.
                          • +3
                            А уже нечто похожее например сайт издательства МИФ использует.
                            • 0
                              На сайте Бюро Горбунова аналогичная система. Вообще на таких сервисах это реально удобно, деструктивных действий практически нет (нельзя удалить аккаунт, перевести миллион денег на произвольный счет и так далее). Ну зайдет кто-то на МИФ, ну почитает мои книги. Карточка у меня виртуальная, купить с нее человек ничего не сможет, пока я сам туда не положу деньги.
                              • +1
                                Western Union использует примерно то же через SMS. Для логина вводишь номер телефона, приходит код в SMS, вводишь его. Никаких паролей.
                                В целом неплохая система как мне кажется, а раз уж такая крупная и связанная с деньгами компания ее использует — это повод как минимум подумать и посмотреть на нее внимательнее.
                                • –5
                                  неплохая

                                  ага XD

                                  раз уж такая крупная

                                  ага XDXDXDXD
                                  • 0
                                    Компания из Fortune 500 для вас недостаточно крупная?
                                    • +1
                                      Пароли через СмС не очень секьюрное решение, т.к. добавляется еще одна цепочка которому мы должны доверять — оператор сотовой связи. Я точно не помню, но по-моему передача смс не зашифрована, поправьте меня если я не прав.
                                      Плюс СмС перехватить можно.
                                      Но это если уже совсем ударяться в паранойю.
                                      • 0
                                        и дубль симки сделать можно(были случаи и неединожды)
                                        • 0
                                          вы и так доверяете оператору свои деньги, неужели доверить еще и временный пароль от социалочки такая проблема?
                                          • +1
                                            вы и так доверяете оператору свои деньги

                                            250,42 рублей баланса?
                                            • 0
                                              и что, 250р уже не деньги?

                                              • 0
                                                По большому счёту да, один поход в магазин дороже обходится, некоторым аккаунт от соцсети дороже.
                                            • 0
                                              Я вот, например, со своим постоплатным тарифом не доверяю. Даже когда и доверял, количество денег на балансе телефона было на 3-4 порядка меньше типичного баланса карт.
                                          • +3
                                            Намекается, что если компания крупная, это совсем не значит, что система у неё хорошая. Чаще бывает наоборот — компания либо ещё что-то очень крупное, но сделано что-то чуть ли не самым плохим вариантом.

                                            Что касается конкретно данного случая, защита по смс — один из наименее безопасных вариантов из всех возможных. Получается, компания крупная, а защита минимальная.

                                            Хотя если отслеживается перевыпуск карты, уже не совсем ужасная защита (без этого это даже защитой нельзя считать в принципе, т. к. защита минимальна), но всё-равно, это явно не то решение, на которое нужно равняться.

                                            За что мне поставили 4 минуса — не понимаю. Видимо, нужно было лучше объяснить.
                                    • –1

                                      Тогда надо использовать облако.

                                    • +5
                                      Не знаю, на сколько это будет удобно, лично мне не очень хочется за каждой рабочей машиной заходить на почту. А на работе в день по несколько раз приходится менять компы.
                                      Интересная идея сделать как в мессенджерах, через смс, но это дорого, как я понимаю.
                                      • 0

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


                                        А СМС, да они в разы дороже, чем отправка письма.

                                        • 0

                                          смс менее защищенные чем email (например к ним имеют доступ те же гос. спец. службы). Так что если делать привязку через телефон то какой-нить Authy.

                                          • 0
                                            почему в смс высылают полную часть кода а не половинку, одну половинку показывают например на сайте а вторую в смс которую надо ввести
                                            • +4

                                              Потому что атакующий, который запросил СМС, смотрит на тот же самый сайт.

                                        • +13

                                          Круто, теперь, чтобы залогиниться в сервис в интернет-кафе, мне надо засветить там свой пароль от почты. Спасибо, нет.


                                          (я уж молчу о том, что я не на каждом сайте хотел бы светить свой емейл)

                                          • –5

                                            А разве входя через email + password, вы не светите email?

                                            • +3

                                              А разве я обязан вводить там реальный емейл?

                                              • –1

                                                Некоторые сервисы не пустят вас, пока вы не подтвердите email. Следовательно, не войдя в него, вы не сможете этого сделать.

                                                • +6

                                                  Ну так одноразовые емейлы же для этого и придуманы.

                                                  • –5

                                                    А что мешает использовать одноразовый Email в этой схеме?

                                                    • +11

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

                                                      • +1

                                                        Согласен, если вы намерены использовать этот аккаунт долгое время, то потеря доступа к email, повлечет и потерю аккаунта.


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

                                                        • 0
                                                          Хотя, если вы намерены использовать этот аккаунт долгое время, то потеря доступа к email (а временная почта это и подразумевает), повлечет и потерю аккаунта.

                                                          Почему?


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

                                                          Вы же предлагаете свой подход не только "для важных учеток", а везде?

                                                          • +3
                                                            Почему?

                                                            "Почему" потеряете доступ? Я не совсем понял этот вопрос.


                                                            Вы же предлагаете свой подход не только "для важных учеток", а везде?

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

                                                            • 0
                                                              "Почему" потеряете доступ? Я не совсем понял этот вопрос.

                                                              Да, почему может случиться потеря эккаунта.


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

                                                              … ценой понижения безопасности и удобства. Спасибо, но, как говорилось выше, нет.

                                                              • +2
                                                                Да, почему может случиться потеря эккаунта.

                                                                Почта протухнет, следовательно вы не сможете выслать на нее письмо с ссылкой на вход. Считайте, потеряли аккаунт. Разве что в саппорт писать.


                                                                … ценой понижения безопасности и удобства

                                                                А чем, помимо возможности использования одноразовых email, этот вариант менее безопасный?

                                                                • 0
                                                                  Почта протухнет, следовательно вы не сможете выслать на нее письмо с ссылкой на вход

                                                                  Вы про свою систему говорите, или про существующие?


                                                                  А чем, помимо возможности использования одноразовых email, этот вариант менее безопасный?

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

                                                                  • –1
                                                                    Вы про свою систему говорите, или про существующие?

                                                                    Да я все, про описанную систему выше говорю.


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

                                                                    Да, но не большая, чем зайти даже с временной почтой и паролем.


                                                                    А временные пароли по СМС / Google Authenticator / прочие 2fa могут решить эту проблему с почтой.


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

                                                                    • 0
                                                                      Да я все, про описанную систему выше говорю.

                                                                      В вашей системе — да, так работать не будет. И это большая проблема.


                                                                      Да, но не большая, чем зайти даже с временной почтой и паролем.

                                                                      Эм, вы не с тем сравниваете. Сравнивать надо "мы зашли на сервис, введя почту (в худшем случае) и пароль от этого сервиса" с "мы зашли на сервис, введя почту и пароль от почты".


                                                                      А временные пароли по СМС / Google Authenticator / прочие 2fa могут решить эту проблему с почтой.

                                                                      Не могут. Чужой компьютер позволяет воспользоваться открытой сессией для разных странных нужд.


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

                                                                      Вам не приходилось, а я несколько раз за рубежом пользовался интернет-кафе и общими компьютерами в отелях.

                                                                      • +1
                                                                        Чужой компьютер позволяет воспользоваться открытой сессией для разных странных нужд.

                                                                        Элементарные правила безопасности никто не отменял. Режим инкогнито, выход из аккаунта — для кого это всё? Есть сомнения в чистоте компьютера (кейлоггеры и т.п.) — найдите другой.
                                                                        • +1
                                                                          Режим инкогнито, выход из аккаунта — для кого это всё?

                                                                          Это все не помогает, если компьютер скомпрометирован.


                                                                          Есть сомнения в чистоте компьютера (кейлоггеры и т.п.) — найдите другой.

                                                                          Зачем мне это усложнение, если я не настолько дорожу данными сервиса, в который логинюсь?

                                                                          • +4
                                                                            Мужик, если компьютер «скомпроментирован», то либо ты странный (вот на «скомпроментирован»'ном компьютере тебе не чего не поможет, чес слово такой бред несёте !), либо ты думаешь, что пароль и почта, и более того тут говориться о менеджерах паролей, не помогут! Как ты блин собираешься в кафе авторизоваться, когда у тебя все пароли в менеджере?
                                                                            Говоришь надо всё равно логиниться через почту? А когда это у нас общественные компа, да и любые другие, кроме своего, стали вдруг безопасными?
                                                                            P.s. не то чтобы я не доверяю любым компам, но как минимум используют режим инкогнито и отключаю всякие куки и все свои учётки активирую с помощью смс на телефон, но я это могут делать и без пароля! А идея замены на сообщение на почту как одна из функций мне лично нравится, особенно когда я сижу дома и мне лень тянуться до телефона!
                                                                            • +2
                                                                              Как ты блин собираешься в кафе авторизоваться, когда у тебя все пароли в менеджере?

                                                                              Легко и просто: открыл менеджер на телефоне, вбил пароль в компьютер.


                                                                              Говоришь надо всё равно логиниться через почту?

                                                                              Нет, я говорю, что через почту логиниться не надо.

                                                                              • +1
                                                                                Ну не логинься! Кто-то запрещает? Автор статьи говорил не про замену для всех, а для тех кому эта фича полезна, тому кому лень постоянно вводить пароль!
                                                                                Для сравнения, сейчас ни кто ни заставляет вас использовать для входа смс подтверждение через телефона, но фича то есть!
                                                                                Да и как по мне это удобнее чем смс на телефон, в том отношении, что я и так сижу за компом в браузере, открыть почту и посмотреть код, как например это сделано в том же Steam, не так уж и затратно по времени! А вот брать телефон, скорей всего у вас тоже так, снимать блокировку, открывать сообщение и потом вводить этот код ручками…
                                                                                Полезность каждый определяет для себя сам, но как минимум — это полезная фича =)
                                                                                • 0
                                                                                  Ну не логинься! Кто-то запрещает?

                                                                                  Автор, который утверждает, что пользователям не нужны пароли.


                                                                                  Для сравнения, сейчас ни кто ни заставляет вас использовать для входа смс подтверждение через телефона, но фича то есть!

                                                                                  Вы, видимо, не слышали про принудительную двухфакторную аутентификацию в онлайн-банках?

                                                                                  • 0
                                                                                    Автор, который утверждает, что пользователям не нужны пароли.

                                                                                    Всем? Автор может так и считает, но я нет. Для меня это просто полезная фича в некоторых сервисах =)
                                                                                    Вы, видимо, не слышали про принудительную двухфакторную аутентификацию в онлайн-банках?

                                                                                    Серьёзно? То есть имея приложения для банкинга вы полезете на свой личный кошиль через хрен пойми как защищённый комп?
                                                                                    Зачем мне это усложнение, если я не настолько дорожу данными сервиса, в который логинюсь?

                                                                                    То есть ваш банковский счёт для вас это несерьёзно? Можете пояснить или я не понял, вы вроде писали, что логинетесь на сервисы данными на которых вы не дорожите, тогда зачем сейчас говорить про онлайн банки? Добавлю, что приложения на телефоне (банкинг) не плохо так защищает!!! В принципе заходите через браузер компа почти не нужно! Могу ошибаться, т.к. не пользуюсь пока!
                                                                                    • 0
                                                                                      Всем?

                                                                                      Статья написана так, как если бы всем.


                                                                                      Серьёзно? То есть имея приложения для банкинга вы полезете на свой личный кошиль через хрен пойми как защищённый комп?

                                                                                      Серьезно. Не подменяйте контекст, вы написали "никто не заставляет использовать смс-подтверждение" — я вам привел пример (и их много) сервисов, которые заставляют. Я вам больше того скажу, иногда приходится именно так и делать (потому что приложение для банкинга должно где-то стоять, а у этого "где-то" может не быть интернета), и вот как раз здесь принудительное подтверждение каждой операции очень помогает.


                                                                                      Можете пояснить или я не понял, вы вроде писали, что логинетесь на сервисы данными на которых вы не дорожите, тогда зачем сейчас говорить про онлайн банки?

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


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

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

                                                                                      • –1
                                                                                        Не подменяйте контекст, вы написали «никто не заставляет использовать смс-подтверждение» — я вам привел пример (и их много) сервисов, которые заставляют.

                                                                                        Во-первых не подменяю, т.к. мы с вами говорили о сервисах, данные которых для вас не важны, с этого я и начал! Во-вторых банк — это хоть и сервис, но всё таки данные там крайне важны!
                                                                                        Я вам больше того скажу, иногда приходится именно так и делать (потому что приложение для банкинга должно где-то стоять, а у этого «где-то» может не быть интернета), и вот как раз здесь принудительное подтверждение каждой операции очень помогает.

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

                                                                                        Ездил не заграницу, а по России пользовался нормально. Понимаю, что Россия != Заграница, но разве нельзя купить сим-карту? Извините, но мне кажется вы тяните проблемы, которые решаются.
                                                                                        Если говорить о логине в банк, то вы предоставляете, скорей всего почту и пароль. Вернусь, вы всё равно подставляете важные для вас данные!
                                                                                        Я бы купил в аэропорту сим-карту или почитал в сети как обстоят дела с интернетом в той стране в которую лечу!
                                                                                        Да насчёт организованности банкинга, я вам полностью согласен. Данные передаются зашифрованными и боятся, что кто-то получит к ним доступ, не нужно, т.к. другого способа защиты попросту нет =)
                                                                                        P.s. Вообще есть =) Наличные деньги в сумке или потайном кармане всегда безопасней карты =)
                                                                                        • 0
                                                                                          Во-первых не подменяю, т.к. мы с вами говорили о сервисах, данные которых для вас не важны, с этого я и начал!

                                                                                          Так и надо было писать "никто из сервисов, данные которых для вас не важны, не заставляет пользоваться смс-подтверждениями". Впрочем, все равно не уверен, что это правда.


                                                                                          Ездил не заграницу, а по России пользовался нормально. Понимаю, что Россия != Заграница, но разве нельзя купить сим-карту?

                                                                                          Не везде можно. Не везде есть покрытие. Иногда просто жалко денег.


                                                                                          Если говорить о логине в банк, то вы предоставляете, скорей всего почту и пароль.

                                                                                          Нет, конечно. Уникальный идентификатор (в ВТБ24 — вообще цифровой) и пароль.


                                                                                          Я бы купил в аэропорту сим-карту

                                                                                          У вас много лишних денег? Ну вот купили вы сим-карту, залезли в Porthcarno, а там хрен вам, а не мобильное покрытие. А вот проводочек протянут.


                                                                                          Наличные деньги в сумке или потайном кармане всегда безопасней карты

                                                                                          Очевидно, нет. Объяснять надо?

                                                                                        • –1
                                                                                          Вот вы попробуйте попользоваться, когда вы находитесь в зарубежной поездке без вай-фая и сотового интернета, узнаете много интересного.

                                                                                          Если не секрет, что это за интернет-кафе такое, где нет возможности подключить смартфон по вайфаю?

                                                                                          • 0

                                                                                            Обычный принт-шоп в Севилье, неподалеку от Архива Индий.

                                                                                            • 0

                                                                                              Ну вот мой пример: перед походом в принтшоп в Петрозаводске, я залил нужный мне файл на флэшку и в интернет.


                                                                                              Придя в принтшоп я просто продиктовал адрес и они скачали мой файл. Флэшка не понадобилась.


                                                                                              Вводить какие либо пароли на их компьютерах — не понадобилось.


                                                                                              А какой Ваш кейс, если не секрет?

                                                                                              • 0

                                                                                                Ниже уже описал. Отличие от вашего в том, что файл не был публично доступен, поэтому я не мог продиктовать адрес.

                                                                                                • 0
                                                                                                  файл не был публично доступен

                                                                                                  А почему?


                                                                                                  У Вас же, по Вашим словам, есть большой опыт в таких делах.


                                                                                                  Почему Вы не подстраховались?

                                                                                                  • 0
                                                                                                    У Вас же, по Вашим словам, есть большой опыт в таких делах.

                                                                                                    В каких?


                                                                                                    Почему Вы не подстраховались?

                                                                                                    Потому что не счел необходимым.

                                                                                                    • 0

                                                                                                      Ну то есть, в качестве примера Вы используете случай "пользователь профакапил"?

                                                                                                      • 0

                                                                                                        Нет, я использую случай "на это не рассчитывали".

                                                                                                      • 0
                                                                                                        В каких?

                                                                                                        Пребывание в местах со специфической ситуацией в плане интернета.

                                                                                        • 0
                                                                                          Автор, который утверждает, что пользователям не нужны пароли.

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

                                                                                          • 0
                                                                                            Видимо мы не знакомы с автором, ведь я в начале статьи явно сказал "возможно не нужны",

                                                                                            Заголовок статьи же.


                                                                                            в конце развернуто перечислили кому эта функция могла бы быть полезна

                                                                                            Указав там корпоративные сайты, для которых это, как уже сказано, неверно.


                                                                                            (да и API сейчас тоже есть много у кого)

                                                                                  • 0
                                                                                    Вы самому себе противоречите. Если вы не дорожите — какая разница, скомпрометирован ли компьютер. И входя через Auth вы как раз меньше рискуете, т.к. логгер запишет временный код.
                                                                                    • 0
                                                                                      Если вы не дорожите — какая разница, скомпрометирован ли компьютер.

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


                                                                                      И входя через Auth вы как раз меньше рискуете, т.к. логгер запишет временный код.

                                                                                      Через OTP — да, меньше рискую. Но речь в примере шла не про OTP, а про логин через почту.

                                                                                      • 0
                                                                                        Тут соглашусь :) Через почту не вариант.
                                                                        • +1
                                                                          Да, почему может случиться потеря эккаунта.
                                                                          Email это ключ к восстановлению пароля. Если вы при регистрации использовался «одноразовый email», то восстановить пароль в случае утери будет не возможно.
                                                                          Кроме того часть функционала сайта может быть не доступна без доступа к электронной почте (рассылки, уведомления и т. д.).
                                                                          • 0
                                                                            Email это ключ к восстановлению пароля. Если вы при регистрации использовался «одноразовый email», то восстановить пароль в случае утери будет не возможно.

                                                                            Ну и пофиг, я вполне способен сам следить за своими паролями.


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

                                                                            Это меня тоже может не волновать.

                                                                            • –1
                                                                              Ну и пофиг, я вполне способен сам следить за своими паролями.
                                                                              Это меня тоже может не волновать.
                                                                              Охотно верю. Но ведь статья не про вас.
                                                            • 0
                                                              Можете посоветовать хороший сервис с одноразовыми емэйлами? Я сейчас мэйлру пользуюсь, но там очень много кликов делать приходится.
                                                          • 0

                                                            он наверно имеет ввиду сервисы которые генерируют временные ящики на 10 минут и тем самым он юзает их для регистрации не светя свой настоящий email.


                                                            и второй раз получить к тому же временному email очень мало вероятно

                                                      • +2
                                                        Все популярные почтовые сервисы доступны только через HTTPS.
                                                        • +1
                                                          Интернет-кафе, это не только доступ к интернету, но и чужой компьютер, которому вы не можете доверять… Никакие HTTPS не помогут на чужом устройстве.
                                                          • 0

                                                            Мне кажется, эта проблема решилась сама собой пару лет назад, когда в каждом кофе появился Wifi.

                                                            • 0

                                                              Далеко не в каждом, если вы посмотрите по всему миру. А уж если вам что-то напечатать надо, так и еще веселее.

                                                              • 0
                                                                После введения «WiFi по паспорту» некоторые кафе перестали раздавать WiFi
                                                                • 0
                                                                  Да уж, как появился, так и исчез…
                                                                  • 0
                                                                    После повсеместного распространения LTE посетители просто перестали обращать на это внимание.
                                                                    • 0

                                                                      Повсеместное распространение LTE в любой стране пребывания — это тоже не так просто, как кажется.

                                                              • 0

                                                                Для чужого компьютера это не имеет значения.

                                                              • 0
                                                                я уж молчу о том, что я не на каждом сайте хотел бы светить свой емейл

                                                                Светить username+spamsite112@gmail.com и получать по факту почту на username@gmail.com не подходит под это описание?

                                                                • 0

                                                                  Не подходит. Во-первых, не у всех гмейл (а у тех, у кого гмейл, есть OpenId Connect, и им вся эта фигня с логином через емейл не нужна бы), а во-вторых, это все равно позволяет связать ящики.

                                                                  • 0

                                                                    Sendmail такое из коробки поддерживает, вроде как — так что привязки к Gmail особой нет. А про связь ящиков — тут уж смотря какие цели. Если цель — увести основное никому не известное мыло от направленной атаки — тогда да. Но и в таком случае можно создать ширпотребный ящик и использовать теги уже на нём :)

                                                                    • 0

                                                                      Цель — не светить свою идентичность и усложнить связь учеток на разных сервисах друг с другом.

                                                                      • 0
                                                                        Интересно: тут либо на каждый сервис/сайт регистрировать свою почту, чтобы «усложнить связь учеток на разных сервисах друг с другом», но это быстро надоест, а более способов я не вижу, а один E-mail уже свяжет так и так учётки между собой. Либо если сайт требует регистрацию по мобильному номеру, то как тут быть?
                                                                        • 0
                                                                          Интересно: тут либо на каждый сервис/сайт регистрировать свою почту, чтобы «усложнить связь учеток на разных сервисах друг с другом», но это быстро надоест

                                                                          Если надоест, значит не так уж и важно.


                                                                          Либо если сайт требует регистрацию по мобильному номеру, то как тут быть?

                                                                          Я без идей. Кто-то как-то говорил, что найти сервисы, имитирующие номера для смс тоже можно.

                                                                • 0

                                                                  На самом деле есть вариант объединить преимущества обоих подходов:
                                                                  1) При регистрации попросить-таки придумать пароль, как обычно
                                                                  2) При логине требовать емейл
                                                                  3) Дальше предлагать либо ввести пароль либо подтверждение на почту
                                                                  Все старые юзкейсы работают, но если обычный пользователь забыл пароль или не хочет париться его вспоминать-вводить, пользуется подтверждением.

                                                                  • +1

                                                                    Чем это (радикально) отличается от обычного "сброса пароля по почте"?

                                                                    • 0

                                                                      Тем же, чем iPhone 1 от HTC touch :) Радикально ничем, но удобнее гораздо.
                                                                      Сброс пароля заставляет вводить новый пароль, у самых умных ещё "пароль не может совпадать со старым". Новый пароль точно так же забывается когда заходишь ещё раз на сайт ещё через год.
                                                                      Ну и заходить на сайт каждый раз через сброс пароля лютое неудобство и костыляторство, а тут как бы альтернативный способ: хочешь — заходи.

                                                                      • 0
                                                                        Сброс пароля заставляет вводить новый пароль, у самых умных ещё "пароль не может совпадать со старым".

                                                                        Это если "сброс пароля" требует ввода нового пароля, а не делает автологин. Такие решения уже есть.


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

                                                                        • 0
                                                                          «В половине глючит» — это же проблема конкретной реализации.
                                                                          • 0

                                                                            Ну как бы проблема с не тем браузером — она часто встречается.

                                                                        • 0
                                                                          Удобнее — нет, если только не предлагать это прямо в процессе логина (и название сменить, да), иначе ровно то же самое. :)
                                                                      • 0
                                                                        Многие так и делают когда лень запоминать или записывать пароль. Вполне себе удобно, особенно когда сайт сохраняет сессию на долго.
                                                                      • –2

                                                                        То есть:


                                                                        • у Вас есть потребность в интернете
                                                                        • у Вас есть электронная почта
                                                                        • при этом, у Вас нет смартфона и Вы где-то нашли интернет-кафе

                                                                        Кто Вы, и как попали в наше время?

                                                                        • –1

                                                                          Вы серьезно никогда в местах без сотового покрытия не были?


                                                                          У меня смартфон-то есть, только сотового интернета нет. И дело было буквально года три назад в милом городе Севилье. И год назад на Койя-сан. И в этом году в Порткарно.

                                                                          • 0

                                                                            Не могли бы Вы в точности описать решаемую Вами задачу?


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


                                                                            Это какой-то очень интересный кейс.


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

                                                                            • +1

                                                                              Омг, да все же просто, как валенок.


                                                                              Есть билет, купленный онлайн. Чтобы пройти по билету, нужна распечатка (нет, показать с устройства нельзя; и все равно на устройстве билета нет). Билет лежит в pdf в дропбоксе. Сотового интернета нет, потому что нет (вплоть до отсутствия сотовой связи вообще, так тоже бывает). Приходим в принт-шоп, у них есть компьютер, подключенный к интернету (как раз для кейсов "распечатайте мне из интернета"). Заходим в дропбокс (там пароль и 2FA, пароль в менеджере на смартфоне, 2FA в приложении на смартфоне), скачиваем файл, отдаем на печать, все.


                                                                              В случае с онлайн-банкингом все то же самое, только сотовая связь есть, а сотового интернета нет (у меня так в Китае было).

                                                                              • 0
                                                                                В случае с онлайн-банкингом все то же самое

                                                                                То есть, Вы входили в онлайн-банк с компьютера на котором побоялись вводить пароль от своей почты?

                                                                                • 0

                                                                                  Ну да, я даже объяснял, почему.

                                                                                • –1
                                                                                  Билет лежит в pdf в дропбоксе.

                                                                                  То есть Вы, с таким большим, по Вашим словам, опыте и знаниях, не имеете с собой OTG и флэшки на такой случай?

                                                                                  • +1

                                                                                    Да. Я вообще перестал с собой возить носители в путешествия.

                                                                                    • –2

                                                                                      Вам не кажется, что такой Ваша пример нерепрезентативен при обсуждении функционала массового сервиса?

                                                                                      • 0

                                                                                        Нет, не кажется.

                                                                          • 0
                                                                            В чём проблема завести специальный почтовый ящик-помойку? Основная почта пусть будет для общения и важных дел, запасная — для подписок на спам и засвечивания везде, где требуется.
                                                                        • +5

                                                                          пришел к подобному подходу довольно давно есть пару замечаний по таблице sign_in_requests:


                                                                          1. Колонку email заменить на users_id (связь по primarykey как то более привычно).
                                                                          2. Вместо колонки expiredAt, мне кажется более логично created_at (тем самым время жизни токена можно вынести в конфиг).
                                                                          3. Вместо колонки isUsed более логично использовать activated_at где писать дату входа по токену
                                                                          4. Колонка requestIp в реальности бесполезна (если только не супер строгая система, но там такой подход вообще не подойдет).
                                                                          5. Добавляю колонку deleted_at где можно деактировать любую запись

                                                                          Также в некоторых случаях если не охото jwt юзать или сессии, можно добавить колонку secret(Uniq) и сообщать ее пользователю и там хранить уже в куках или localstorage и отправлять этот секрет с каждым запросом, у этого подхода есть и минусы но в некоторых случаях он прекрасно подходит


                                                                          Получается колонка secret это как бы session_id который не чистится и человек авторизован пока не выйдет (logout)

                                                                          • +1
                                                                            Колонку email заменить на users_id (связь по primarykey как то более привычно).

                                                                            Как я говорил выше, в этой реализации, эта таблица может также выполнять роль sign_up_requests. А в этом случае, у вас может еще не быть пользователя с таким email.


                                                                            Вместо колонки expiredAt, мне кажется более логично created_at (тем самым время жизни токена можно вынести в конфиг).

                                                                            Тоже вариант. Но у меня были случаи, когда токен нужно было в ручном сделать "долгожителем" (для нерасторопного, но очень важного для бизнеса пользователя), при этом не меняя срок жизни остальных токенов.


                                                                            Вместо колонки isUsed более логично использовать activated_at где писать дату входа по токену

                                                                            Вот это крутое замечание, обновил статью.


                                                                            Добавляю колонку deleted_at где можно деактировать любую запись

                                                                            Как я заметил в статье, это минимальный набор, и deleted_at более чем нужен в реальной жизни (в том числе и в таблице с пользователями), но в текущем повествовании это было лишним.

                                                                            • 0

                                                                              Как писали ниже, база тут вовсе не нужна. Тоже велосипедил такое раньше.

                                                                            • +2
                                                                              Корпоративным сайтам, где ваши пользователи уже используют вашу внутреннюю почту.

                                                                              На корпоративных сайтах обычно используется SSO.

                                                                              • –1

                                                                                Но перед тем, как зайти через SSO вы ведь должны ввести email + pass. Конечно, если ваш почтовый сервис, это уже SSO, то да, вопрос отпадает.

                                                                                • +3
                                                                                  Но перед тем, как зайти через SSO вы ведь должны ввести email + pass.

                                                                                  Эээ, почему это? Если я в домене и включена доменная аутентификация, то вообще ничего вводить не надо. Если в браузере доменной аутентификации нет, но открыты корпоративные сервисы, значит, уже есть открытая сессия, и тоже ничего вводить не надо. В-третьих, в SSO не обязательно email (и даже не обязательно пароль).

                                                                              • +2
                                                                                А в чём проблема вместо подтверждения по емейл запросить код из Google Auth?
                                                                                И безопасно и помнить не нужно. Тогда и пароль нафиг не нужен. И нет необходимости в каждом интернет-кафе почту дёргать. А уж критические изменения подтверждать по е-майл.
                                                                                • +2
                                                                                  И безопасно и помнить не нужно.

                                                                                  Небезопасно. Украли устройство — получили доступ.


                                                                                  А если устройство отказало — доступ не получит даже владелец.

                                                                                  • +1
                                                                                    Не будем драматизировать. Во-первых я указал что критичные изменения подтверждаются по е-мейл. Для параноиков или сайтов с деньгами можно сделать выбор «пароль/auth/пароль+auth». Во-вторых — если вы забыли пароль (равноценно утере девайса) — всё равно в тот же е-мейл для восстановления полезете. И не забывайте, сервер может проверять белые списки, смотреть были ли заходы с этого ip ранее и проводить иные проверки, и при сомнениях задавать пользователю разные неожиданные вопросы из ряда секретных или требовать таки ввести пароль/пин. В общем идея хороша, и всяко девайс угнать обычно сложнее, чем пароль.
                                                                                    • 0
                                                                                      Не будем драматизировать.

                                                                                      Это не "драматизировать", это реальные проблемы. Кому-то может быть на них положить, так бывает. Но не всем.


                                                                                      Во-первых я указал что критичные изменения подтверждаются по е-мейл.

                                                                                      Доступном на том же устройстве, да?


                                                                                      Во-вторых — если вы забыли пароль (равноценно утере девайса) — всё равно в тот же е-мейл для восстановления полезете

                                                                                      Это если восстановление через емейл.


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

                                                                                      Да нет, просто забрал со стола и все.

                                                                                      • –1
                                                                                        Кому-то может быть на них положить, так бывает. Но не всем.

                                                                                        Судя по вашим сообщениям выше, вам положить. Но потроллить-то надо.
                                                                                        Доступном на том же устройстве, да?

                                                                                        Нет, на телефоне только 2fa.
                                                                                        Да нет, просто забрал со стола и все.

                                                                                        А вы не бросайте на столе телефон с 2fa, если вы такой параноик.
                                                                                • –3
                                                                                  Предлагаю диаметрально противоположное — для авторизации на сайте предлагаем ввести пользователю только пароль. Действительно, зачем при авторизации нужен логин?
                                                                                  Email, имя и еще какие-то данные могут спрашиваться при регистрации и использоваться, например для рассылки уведомлений, но при авторизации спрашивать только пароль. Да, пароли у всех должны быть одинаковые, потому-что автогенерируемые.
                                                                                  P.S. Пытался опубликовать заметку на эту тему на хабре, хотя суть укладывается в одном предложении.
                                                                                  • +2
                                                                                    для авторизации на сайте предлагаем ввести пользователю только пароль. Действительно, зачем при авторизации нужен логин?

                                                                                    Чтобы исключить ситуации, когда пароли совпадают.


                                                                                    (еще чтобы усложнить перебор, конечно же)

                                                                                    • –3
                                                                                      представьте, что пароль у вас — это склеенные email и пароль.
                                                                                      пароли и должны быть у всех разные. если они настолько просты, что совпадают — сам себе злобный буратино.
                                                                                      • +1
                                                                                        >> если они настолько просты, что совпадают
                                                                                        Вопрос скорее в том, как вы будете проверять, что пароли у всех пользователей различны? Для логина, который хранится в открытом виде это простейший запрос к БД, а вот для паролей, которые принято хранить хешем с солью это задача резко усложняется.
                                                                                        • –2
                                                                                          А не надо проверять после выдачи, пароль генерируем сами, уникальным:) это как пример.
                                                                                          • 0
                                                                                            >> пароль генерируем сами, уникальным
                                                                                            Вам за это не один пользователь спасибо не скажет. Например, видели какие сейчас имена электронных адресов автоматически предлагают Яндекс, Google? А мы тут вроде как про удобство.
                                                                                          • –3
                                                                                            Для неавторизированного пользователя отображаем поле ввода пароля, человек вводит свой пароль, берем от него хеш (с солью), проверяем есть ли такой пароль в табличке, если есть — авторизуем пользователя, если нет — это новый пользователь, предлагаем ему ввести доп информацию о себе, например email или что кому нужно.

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