[tLogin] - Авторизация через Телеграм
Подготовил компонент, позволяющий представиться системе посредством телеграм-виджета, с подтверждением через уведомления телеграм.
Поковырять демку можно здесь.
Внимание — если у вас заброкирован телеграм — вы скорее всего увидите пустую страницу.
Телеграм присылает не так много данных
Установка и предварительная настройка
Компонент будет доступен в modstore
Вся работа с API телеграм обычно происходит через ботов. Поэтому в первую очередь вам нужно создать бота. Это очень легко.
1. Открываем ваш телеграм
2. Ищем в поиске бота @botFather — он отвечает за создание ботов. Добавляем его себе
3. Пишем папаше ботов команду /newbot и отвечаем на несколько вопросов. Сначала придумаем имя бота. Затем задаем уникальное имя, через которое сможем обращаться к нашему боту через поиск. Username должен заканчиваться на _bot. Например, называем его как сайт s1441 и задаем юзернейм s1441_bot
4. На этом все. Бот создан. Вам выдается уникальный token — не забудьте его сохранить. Он пригодится при настройке компонента.
5. Последнее что нужно сделать указать с каким доменом будет работать бот. Пишем в диалоге с botFather /setdomain. Папаша ботов предлагает выбрать бота для которого вы собираетесь задать домен. У вас их может быть несколько. После выбора нужного бота — указываете адрес сайта, к которому будет привязан бот.
Вот и вся настройка
Настройка MODX
В системных настройках нужно указать юзернейм бота (которое с _bot) и токен, выданный для бота пару шагов назад.
Авторизация разрешена пока, только в контекст web
Компонент очень сырой, зато бесплатный. Если сообщество поддержит и он будет востребован хоть немного, будем дорабатывать и развивать на основе обратной связи.
UPD — заметили случай, что регистрация\авторизация через штатные механизны MODX не срабатывает, если у пользователя telegram пустой username.
Поковырять демку можно здесь.
Внимание — если у вас заброкирован телеграм — вы скорее всего увидите пустую страницу.
Основные возможности компонента:
- Аутентификация через ваш телеграм. Вам приходит запрос в программу на телефоне (или компьютере)
- Фоновая регистрация пользователя без заполнения персональных данных
- Возможность представляться без фоновой регистрации. Предусмотрена настройка отключить регистрацию. Персональные данные пишутся в кэш MODX. Далее их можно подставить просто в форму комментария например. Не знаю будет ли востребована идея, в моем рабочем опыте был клиент, просивший сделать возможность быстро представляться без регистрации
Ограничения:
Телеграм присылает не так много данных
- Имя
- Фамилия (если есть)
- Юзернейм
- Аватар
Установка и предварительная настройка
Компонент будет доступен в modstore
Вся работа с API телеграм обычно происходит через ботов. Поэтому в первую очередь вам нужно создать бота. Это очень легко.
1. Открываем ваш телеграм
2. Ищем в поиске бота @botFather — он отвечает за создание ботов. Добавляем его себе
3. Пишем папаше ботов команду /newbot и отвечаем на несколько вопросов. Сначала придумаем имя бота. Затем задаем уникальное имя, через которое сможем обращаться к нашему боту через поиск. Username должен заканчиваться на _bot. Например, называем его как сайт s1441 и задаем юзернейм s1441_bot
4. На этом все. Бот создан. Вам выдается уникальный token — не забудьте его сохранить. Он пригодится при настройке компонента.
5. Последнее что нужно сделать указать с каким доменом будет работать бот. Пишем в диалоге с botFather /setdomain. Папаша ботов предлагает выбрать бота для которого вы собираетесь задать домен. У вас их может быть несколько. После выбора нужного бота — указываете адрес сайта, к которому будет привязан бот.
Вот и вся настройка
Настройка MODX
В системных настройках нужно указать юзернейм бота (которое с _bot) и токен, выданный для бота пару шагов назад.
Авторизация разрешена пока, только в контекст web
Компонент очень сырой, зато бесплатный. Если сообщество поддержит и он будет востребован хоть немного, будем дорабатывать и развивать на основе обратной связи.
UPD — заметили случай, что регистрация\авторизация через штатные механизны MODX не срабатывает, если у пользователя telegram пустой username.
Комментарии: 30
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Это не связано с блокировкой Телеграм?
В Казахстане страница выглядит вот так
только телеграм заблокирован и работает через раз
То есть нужно выходить из программы телеграмма на компе? Неудобно как-то…
Добавлю пока в посте ссылку на транспортный пакет, который можно установить вручную
Почему не даете в компоненте id usera?
UPD. Виноват, версию выпустил — выгрузить в магазин забыл. Можно обновляться
Если эта версия стоит и все равно не работает — могу посмотреть в чем дело уже на сайте.
Потому что текущий пользователь и без id доступен в modx->user
Я про id user в телеграмме, он же возвращает его.
ID телеграм юзера мы принимаем и храним в extended поле. Как и все остальные поля отдаваемые телегой. Я никак в толк не возьму зачем его где то использовать? В каком случае?
А вообще можно и исходный код посмотреть, он крайне простенький.
1) Как перенаправит на главную страницу после регистрации
2) Как сменит окно регистрации Telegramm на русский
Нужно поднимать исходники, смотреть.
Кидает на адрес:
Если в качестве страницы 404 указать главную, то работает.
Как сделать чтобы обрабатывался, а не выдавал 404?
Нужно изменить request_param_id
Захожу в созданного бота, ничего не происходит.
Нет нормальной документации на компонент.
Как запускать процесс авторизации, как повесить кнопку?
Хотел сделать на сайте форму со скачкой документации после авторизации в Телеге.
Прошу поделиться информацией как его правильно подключить.
Подскажите, пожалуйста, данный компонент на локальном сервере (localhost/) проверить можно или он не будет там работать?