Сегодня мы представляем виджет Telegram Login для внешних веб-сайтов . Когда вы впервые воспользуетесь виджетом на сайте, он запросит номер телефона и отправит вам подтверждение через Telegram для авторизации вашего браузера. Как только это будет сделано, вы получите логин с двумя кнопками на каждом веб-сайте, который поддерживает вход в Telegram:
Нажимая кнопку «Принять», будут отправлены: имя , имя пользователя и ваш профайл к владельцу сайта. Ваш номер телефона остается скрытым . Веб-сайт также может запросить разрешение на отправку сообщений от своего бота .
Разрешаем писать боту первым
Боты Telegram — это мощный инструмент коммуникации, но до сегодняшнего дня они не могли начать разговор первыми. Даже если бы вы хотели, чтобы они обратились к вам, сначала вам нужно было «стартануть» их.
Благодаря новому виджету входа, переход от взаимодействия с сайтом к разговору на Telegram становится абсолютно без трения .
Потенциальные варианты использования безграничны. Боты могут использоваться для предоставления поддержки клиентов, принятия платежей или отправки уведомлений любого рода, включая выписки со счета, отслеживание отгрузки, обновления рейсов и многое другое.
Все под контролем
После каждого входа,Telegram отправит вам сообщение о ваших разрешениях и данных, которые вы передали владельцу веб-сайта. Вы можете отменить авторизацию, нажав соответствующую кнопку в сводке входа.
Telegram for Android 4.8 , также включает раздел в настройках конфиденциальности и безопасности, в котором перечислены все сайты, на которых вы вошли в систему, используя Telegram. Другие приложения скоро последуют.
Этот простой инструмент для входа в систему — это первый этап проекта Telegram ID , который мы будем развертывать в течение всего этого года.
Как настроить виджет авторизации через телеграмм
Виджет входа Telegram — это простой способ авторизации пользователей на вашем веб-сайте.
Настраиваем бота
Чтобы использовать виджет входа, вам понадобится бот Telegram .
Мы настоятельно рекомендуем, чтобы изображение профиля бота , который используется для авторизации соответствует с логотипом вашего сайта, и что бот имя отражает связь.
Пользователи будут видеть это сообщение при входе на ваш сайт:
Скорее всего, пользователи войдут в систему, если ваш бот имеет имя и логотип, которые они ожидают увидеть.
Связь домена и бота
После того, как вы выбрали бот, отправить команду /setdomain отцу ботов @Botfather для того, чтобы связать домен вашего сайта с ботом. Затем настройте свой виджет и вставьте код на свой сайт.
Конфигурация виджета
По ссылке вы можете задать конфигурации виджета.
Получение данных авторизации
После успешного авторизации виджет может возвращать данные двумя способами:
- перенаправляя пользователя к URL-адресу, указанному в
data-auth-url
атрибуте, со следующими параметрами: id , first_name , last_name , username , photo_url , auth_date и hash ; - вызывая функцию обратного вызова
data-onauth
с JSON-объект , содержащий Ид , first_name , last_name , имя пользователя , PHOTO_URL , auth_date и хэш — полей.
Проверка авторизации
Вы можете проверить аутентификацию и целостность полученных данных путем сравнения полученного хэш-параметра с шестнадцатеричным представлением подписи HMAC-SHA-256 строки проверки данных с хешем SHA256 маркера бота, используемого в качестве секретного ключа ,
Строка проверки данных представляет собой конкатенацию всех полученных полей, отсортированных в алфавитном порядке, в формате key=<value>
с символом перевода строки (‘\ n’, 0xA0), используемым в качестве разделителя — например 'auth_date=<auth_date>\nfirst_name=<first_name>\nid=<id>\nusername=<username>'
.
Полная проверка может выглядеть так:
data_check_string = ...
secret_key = SHA256(<bot_token>)
if (hex(HMAC_SHA256(data_check_string, secret_key)) == hash) {
// data is from Telegram
}
Чтобы предотвратить использование устаревших данных, вы можете дополнительно проверить поле auth_date , которое содержит отметку времени Unix при получении аутентификации.