[tLogin] - Авторизация через Телеграм

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


Основные возможности компонента:


  1. Аутентификация через ваш телеграм. Вам приходит запрос в программу на телефоне (или компьютере)
  2. Фоновая регистрация пользователя без заполнения персональных данных
  3. Возможность представляться без фоновой регистрации. Предусмотрена настройка отключить регистрацию. Персональные данные пишутся в кэш MODX. Далее их можно подставить просто в форму комментария например. Не знаю будет ли востребована идея, в моем рабочем опыте был клиент, просивший сделать возможность быстро представляться без регистрации

Ограничения:


Телеграм присылает не так много данных
  • Имя
  • Фамилия (если есть)
  • Юзернейм
  • Аватар
Номер телефона остается скрытым. Email в базе телеграм нет вообще, поэтому первоначально для регистрации генерируется email пользователя с маской username@fakesite.ru. Далее в личном кабинете — который не сложно организовать — можно сменить свой email на настоящий.

Установка и предварительная настройка
Компонент будет доступен в modstore

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

1. Открываем ваш телеграм
2. Ищем в поиске бота @botFather — он отвечает за создание ботов. Добавляем его себе
3. Пишем папаше ботов команду /newbot и отвечаем на несколько вопросов. Сначала придумаем имя бота. Затем задаем уникальное имя, через которое сможем обращаться к нашему боту через поиск. Username должен заканчиваться на _bot. Например, называем его как сайт s1441 и задаем юзернейм s1441_bot
4. На этом все. Бот создан. Вам выдается уникальный token — не забудьте его сохранить. Он пригодится при настройке компонента.
5. Последнее что нужно сделать указать с каким доменом будет работать бот. Пишем в диалоге с botFather /setdomain. Папаша ботов предлагает выбрать бота для которого вы собираетесь задать домен. У вас их может быть несколько. После выбора нужного бота — указываете адрес сайта, к которому будет привязан бот.
Вот и вся настройка

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

Авторизация разрешена пока, только в контекст web

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

Пока ждем модерации оставлю прямые ссылки на:
Николай Савин
13 июля 2018, 12:05
263
+8

Комментарии: 11

Артем
13 июля 2018, 12:10
0
Класс, я тоже на сайте всю авторизацию перевел на телеграм.
Алексей Соин
13 июля 2018, 12:11
0
Хм… по моему что то не так
    Илья
    13 июля 2018, 13:08
    0
    У меня тоже самое.
    Это не связано с блокировкой Телеграм?
      Николай Савин
      13 июля 2018, 13:12
      0
      А вот хз. По идее идет прямое обращение к телеграму и подгрузка фрейма, как, скажем в google captcha. Так что если телега не доступна — то и виджет не появится.
      В Казахстане страница выглядит вот так
      Дмитрий
      13 июля 2018, 13:41
      +1
      Это всё происки роскомпозора или хостинг-провайдера. Они уже как пару месяцев что-то мудрят то ли с подменой сертификатов, то ли еще чего, в общем, заблокированные сервисы по SSL недоступны.
Вася
13 июля 2018, 13:17
0
Все хорошо
только телеграм заблокирован и работает через раз
Василий Столейков
13 июля 2018, 17:08
1
0
Круто, очень классно получилось!

Для очистки виджета, нажмите кнопку выхода в своем Телеграм
То есть нужно выходить из программы телеграмма на компе? Неудобно как-то…
    Василий Столейков
    13 июля 2018, 17:26
    1
    0
    То есть нужно выходить из программы телеграмма на компе? Неудобно как-то…
    А, сорри, не сразу понял смысл этих слов. Нужно выходить не из телеграмма, а нажимать на пноку Disconnect в боте, который запросил авторизацию на сайте. Теперь всё логично. ))
Артем
15 июля 2018, 18:42
0
Когда ждать компонент?
    Николай Савин
    16 июля 2018, 06:40
    0
    Ой — это вопрос с модератеру, который в жизни очень сильно занятой человек.
    Добавлю пока в посте ссылку на транспортный пакет, который можно установить вручную