Кнопка «Войти через Telegram» на вашем сайте — за 5 минут

Пользователь вводит номер телефона, код приходит в Telegram, ваш сайт получает подтверждённый номер. Без паролей, SMS и сложной разработки.

3 способа подключения

Способ 1 · самый простой

Готовая кнопка

Добавляете на сайт одну строку кода — кнопка появляется сама. Окно входа, привязку к боту и код берёт на себя Tasdiq ID.

Для кого:
Любой сайт: PHP, Node.js, Python, Laravel, простой HTML
Время:
5–15 минут
Способ 2 · без кода

OpenID Connect

Международный стандарт (на нём же Google и Apple). Вводите 3 значения в настройки готовой системы — и всё.

Для кого:
WordPress, Moodle, Keycloak, NextAuth, Laravel, Django и другие
Время:
10 минут
Способ 3 · полный контроль

REST API

Отправка и проверка кода в вашем интерфейсе: мобильное приложение, бот, подтверждение платежа, двухфакторная защита.

Для кого:
Разработчики, мобильные приложения, особые сценарии
Время:
1 рабочий день

Как подключить (способы 1 и 2)

  1. 1

    Зарегистрируйтесь

    Создайте аккаунт на panel.tasdiqid.uz. На бесплатном тарифе — 100 входов в месяц.

  2. 2

    Откройте «Кнопка входа»

    Панель → Интеграция → Кнопка входа → «Добавить приложение».

  3. 3

    Укажите адрес сайта

    Например https://moy-sait.uz. Для способа 2 добавьте также адрес возврата (callback URL).

  4. 4

    Получите client_id

    Панель покажет готовый код с вашим client_id — достаточно скопировать. client_secret нужен только для способа 2.

  5. 5

    Вставьте на сайт и проверьте

    Нажмите кнопку и войдите со своим номером. Каждый вход виден в статистике панели.

Что видит пользователь

  1. 1

    Нажимает «Войти через Telegram» на сайте — открывается окно Tasdiq ID.

  2. 2

    Вводит номер телефона.

  3. 3

    В первый раз появляется кнопка «Открыть бота»: в боте Start → Согласен → Поделиться номером. Окно само определит подключение и покажет «Telegram подключён ✅».

  4. 4

    Нажимает «Отправить код», код приходит в Telegram, пользователь вводит его — и входит на сайт.

Привязка к боту делается один раз и действует на всех сайтах с Tasdiq ID. В следующий раз код придёт сразу.

Способ 1: код кнопки

Вставьте эту строку туда, где должна быть кнопка. После входа браузер отправит tasdiq_id_token на ваш адрес /tasdiq-login.

HTML
<script src="https://id.tasdiqid.uz/widget.js"
        data-client-id="tqc_..."
        data-login-url="/tasdiq-login"
        async></script>

Проверка на сервере (PHP)

Токен приходит с подписью Tasdiq ID. Проверяется одним запросом — без библиотек. Примеры для Node.js и Python — в панели.

PHP
<?php
// /tasdiq-login
$token = $_POST['tasdiq_id_token'] ?? '';
$user = json_decode(@file_get_contents(
  'https://id.tasdiqid.uz/oauth/tokeninfo?id_token=' . urlencode($token)), true);

if (!$user || $user['aud'] !== 'tqc_...') {
  http_response_code(401); exit;
}
session_start();
$_SESSION['phone'] = $user['phone_number']; // +998901234567
header('Location: /');

Способ 2: настройки OpenID Connect

Укажите эти значения в настройках «OpenID Connect» или «OAuth 2.0» вашей системы. Многим системам достаточно Discovery URL, Client ID и Client Secret.

Discovery URL
https://id.tasdiqid.uz/.well-known/openid-configuration
Client ID
tqc_… (из панели)
Client Secret
tqs_… (из панели, храните только на сервере)
Scope
openid phone
Authorization URL
https://id.tasdiqid.uz/oauth/authorize
Token URL
https://id.tasdiqid.uz/oauth/token
Userinfo URL
https://id.tasdiqid.uz/oauth/userinfo
JWKS URL
https://id.tasdiqid.uz/oauth/jwks
Подпись
RS256 · поддерживается PKCE (S256)

С какими платформами работает

С любой системой, поддерживающей OpenID Connect. Самые популярные:

WordPress
Плагин «OpenID Connect Generic»
Moodle
Администрирование → Сервисы OAuth 2 → Особый
Laravel
Socialite + провайдер OpenID Connect
Django
django-allauth (openid_connect)
Next.js
NextAuth / Auth.js — OIDC provider
Keycloak
Identity Providers → OpenID Connect v1.0
Auth0
Enterprise → OpenID Connect
Odoo
OAuth-провайдеры / модуль OIDC
Nextcloud
Приложение «OpenID Connect user backend»
Grafana
Generic OAuth
Directus
AUTH_PROVIDERS — openid
Spring Boot
spring-security-oauth2-client
Простой сайт HTML/PHP
Способ 1: готовая кнопка
Мобильное приложение, бот
Способ 3: REST API

Какие данные получает сайт

phone_number
Подтверждённый номер телефона: +998901234567
phone_number_verified
Всегда true — владелец номера подтвердил его через Telegram
sub
Постоянный ID пользователя (только для вашего сайта)
name
Имя в Telegram (если есть)

Способ 3: REST API

Отправка кода (/v1/otp/send) и проверка (/v1/otp/verify) — два запроса. Вебхуки, рассылки и другие возможности — в документации API.

Документация API →

Вопросы и ответы

А если пользователь ещё не нажимал Start в боте?

Окно входа само попросит подключиться: покажет кнопку «Открыть бота» и дождётся привязки номера. Вашему сайту ничего делать не нужно.

Это безопасно?

Токен подписан RS256, подделать его нельзя. Результат возвращается только на сайт, зарегистрированный в панели. Код одноразовый и аннулируется после 5 неверных попыток.

Сколько стоит?

Каждый вход считается как один код вашего тарифа. На бесплатном тарифе — 100 в месяц.

А если браузер заблокирует окно (popup)?

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

Можно со своим ботом?

Да, на тарифе Бизнес вы подключаете своего бота в панели — окно и коды будут от имени вашего бота.

Подключите уже сегодня

Зарегистрируйтесь, создайте приложение и вставьте готовый код на сайт.

Начать бесплатно
Голосовая презентация