Вхід на сайт за допомогою Telegram

На сьогоднішній день в інтернеті практично всі сайти використовують давню і перевірену часом схему реєстрації/авторизації по email. Така схема завжди відмінно працювала і продовжує працювати донині, але вона робить користувача інтернету залежним від поштових сервісів, і на мій погляд, має ряд недоліків.

Зручність

  • Як правило, зараз кожен користувач інтернету має кілька email адрес (особистий, робочий, той який він забув і т. д). Бажано що б у всіх адрес були різні паролі від 8 символів. З часом, паролі забуваються, особливо коли пароль збережений в браузері і при вході в пошту він заповнюється автоматично.

  • Думаю багато хто стикався з ситуацією, коли, зайшовши на який-небудь ресурс, для отримання необхідної інформації, потрібно було пройти принизливу процедуру реєстрації і підтвердити свій email, зайшовши в свою пошту, і натиснути на страшну посилання, що складається з незрозумілих символів. Після цього, в ящик починає сипатися всякий непотріб у вигляді підписки, на яку ви дали згоду при реєстрації, а може навіть і звичайний спам.

  • На кожному ресурсі так само бажано використовувати різні паролі. У разі коли користувач не може зайти на свій улюблений ресурс, доводиться виконувати чергову процедуру відновлення пароля: заходити в пошту (згадувати пароль від пошти, якщо вхід відбувається, наприклад, з робочого місця) шукати лист, ходити по посиланнях відновлення\підтвердження, і знову придумувати новий пароль для сайту. Який потім знову буде успішно забутий.

  • Поштову скриньку перетворюється на звалище повідомлень, акцій, пропозицій, іншої реклами з ресурсів, на яких ви зареєстровані. Серед цього можна не помітити важливого листа, наприклад. Та це навіть просто відволікає!

Безпека

  • Безвідповідальний підхід до використання поштовим ящиком може стати причиною витоку пароль від нього.
  • Фішингові листи можуть стати причиною витоку пароля від ресурсу, під який замаскований гниле лист
  • email це як паспорт в інтернеті: з нього можна зібрати певну інформацію з відкритих джерел та використовувати її в різних цілях.
  • Отримавши доступ до email, можна отримати доступ до всіх ресурсів, на яких сидить користувач і до інших email адресами
  • Поштові сервіси і рекламні компанії знають про ваше життя все
На жаль, немає такою ж популярною, простої і зручної альтернативи, як з точки зору впровадження, так і з точки зору використання. Є всякі «технології відкритого входу», вони дещо зручніше, але вони теж потребують email адресу, і так само мають ряд недоліків!

Ближче до справи

Як альтернативу /доповнення цьому найстарішому способом, я хочу запропонувати поглянути на спосіб авторизації за допомогою сучасних месенджерів. Реєстрація в тому вигляді, якому вона використовується скрізь, в принципі зникає.

На поточний момент під цю задачу за всіма параметрами підходить Telegram. Але й не тільки він. З таким же успіхом можна зробити бота і для інших месенджерів. Схема дуже проста!

Користувач, зайшовши на сайт, на якому у нього немає облікового запису, потрібно буде додати в свій Telegram бота цього сайту і запитати у нього доступ(наприклад натиснувши на кнопку «Дай мені пароль») Для тих, хто не користується Telegram і не розуміє, про який кнопці йде мова, прикладаю скрін:

image
В якості прикладу, я реалізував схему з одноразовим паролем, яка виглядає наступним чином:

Бот створює одноразовий пароль для входу згідно вашого запиту.

Щоб увійти на сайт, треба заповнити лише одне поле — «пароль»

У цій схемі генерується пароль завжди буде унікальний і буде належати тільки одному користувачеві Telegram'а, так само пароль буде дійсний обмежений час, а після входу буде знищений.

Використовуючи таку схему, нам не потрібно чекати листа і проходити процедуру реєстрації. Так само не потрібно пам'ятати ніяких паролів. Нам завжди нагадає турботливий бот.

Зручність такого підходу полягає ще в тому, що Telegram доступний на всіх платформах, і шукати бота не потрібно, достатньо просто пройти по посиланню, яка вказана на формі авторизації. Як це виглядає в живу можна подивитися тут: https://x07.herokuapp.com/login

Цю схему, звичайно ж, можна зробити більш практичною, надійною та безпечною.

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

На випадок, якщо не виявиться під рукою Telegram'а, або раптом Telegram буде не доступний, або ви просто не хочете кожен раз туди лізти, то в БД можна зробити полі з постійним паролем, за яким можна буде увійти завжди. При цьому дбайливого бота можна навчити оповіщати вас про будь вході на сайт, якщо ви не запитували у нього пароль.

Плюс до усьому, можна також додати ім'я, яке використовується в Telegram'е або будь-які інші поля на ваш розсуд, хоч той же email.

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

Придумати тут можна величезна кількість варіантів реалізації.

Плюси такого підходу:

  • Не потрібно проходити довгу і принизливу процедуру реєстрації на сайті, а потім лізти в поштову скриньку і шукати там лист або з паролем або з посиланням на підтвердження реєстрації.
  • Не потрібно пам'ятати пароль, пароль завжди генерується новий за запитом!
  • Безпечніше ніж електронна пошта!
  • Telegram активно розвивається і стабільно працює!
  • Пароль неможливо вкрасти, не заволодівши мобільним телефоном
  • Доступ до Telegram через веб також складно отримати, як до мобіле користувача
  • Telegram доступний на всіх платформах
  • За допомогою цього підходу ваш сайт стає більш доступним користувачам
  • Для ресурсів, які вимагають ваш номер телефону з метою підвищити захист від фековых акаунтів, не потрібно буде вводити номер телефону, так як Telegram вже прив'язаний до номера мобільного телефону. Деяких людей відлякує реєстрація по мобільному телефону
  • Ваш номер телефону завжди залишається в таємниці і не доступний власникам сайту
Мінуси, куди ж без них…

  • Через ботів теж можна слати спам
  • Що відбувається на серверах Telegram невідомо, там так само може проводиться збір та аналіз даних (може це не мінус)
  • При великій кількості користувачів зросте навантаження на сервер де буде жити бот
  • В якійсь мірі з'являється залежність від Telegram
  • Telegram може змінити або розширити свій API, що може дозволити сайтам отримати більше інформації про вас, або навпаки зробити цю схему не життєздатною
Що ви про це думаєте? Чи Будете ви впроваджувати у своїх проектах такий спосіб авторизації?
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.