Телеграм виджет для авторизации на сайтах

Виджет авторизации

Сегодня мы представляем виджет 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=&lt,value&gt,с символом перевода строки (\ n, 0xA0), используемым в качестве разделителя например ‘auth_date=&lt,auth_date&gt,\nfirst_name=&lt,first_name&gt,\nid=&lt,id&gt,\nusername=&lt,username&gt,’.

Полная проверка может выглядеть так:

data_check_string = … secret_key = SHA256(&lt,bot_token&gt,) if (hex(HMAC_SHA256(data_check_string, secret_key)) == hash) { // data is from Telegram }

Чтобы предотвратить использование устаревших данных, вы можете дополнительно проверить поле auth_date , которое содержит отметку времени Unix при получении аутентификации.


Оцените статью
ermail.ru
Добавить комментарий