(Nautilus · Connexion Telegram)

Laissez vos clients se connecter avec Telegram Pas de mot de passe, pas de facture SMS, pas de domaine à déclarer

Vos clients touchent Start dans votre bot Telegram et les voilà connectés : aucun mot de passe à stocker, aucun e-mail à livrer. Vous connectez votre propre bot depuis le tableau de bord et appelez deux endpoints HTTP ; Nautilus fait tourner le côté bot et vous remet un jeton d'accès et le profil Telegram.

curl -X POST https://api.vernesoft.com/v1/passepartout/login/start \
  -H "Authorization: Bearer vrn_passepartout_•••"
# => { "nonce": "n_9f2c…", "deep_link": "https://t.me/your_bot?start=n_9f2c…" }

(Pourquoi pas des mots de passe)

Les mots de passe coûtent du temps de support, les codes SMS coûtent de l'argent

Les mots de passe viennent avec des flux de réinitialisation, des e-mails de vérification et les tickets de support qui suivent. Les codes SMS échangent cela contre une facture par message. Si vos clients sont déjà sur Telegram, il existe une troisième voie, et elle ne coûte ni l'un ni l'autre.

Connexion par mot de passe ou SMS

  • ✕ Stockage des mots de passe et flux de réinitialisation à sécuriser et à maintenir.
  • ✕ Des e-mails de vérification qui arrivent en retard ou finissent en spam, ce qui bloque les inscriptions.
  • ✕ Des codes SMS à usage unique facturés au message, dans chaque pays, aussi longtemps que vous les utilisez.
  • ✕ Les jetons de bot Telegram, si vous câblez tout vous-même, éparpillés entre fichiers de configuration et fichiers d'environnement.

Connexion Telegram

  • ✓ Pas de mot de passe à stocker, à divulguer ou à réinitialiser.
  • ✓ Un toucher sur un lien profond : pas d'aller-retour par e-mail, pas de code à saisir.
  • ✓ Utilisateurs stockés par compte dans Ory Kratos, séparés des utilisateurs des autres comptes.
  • ✓ Jetons de bot chiffrés au repos avec AES-256-GCM.

(Le widget de connexion)

Là où s'arrête le widget de connexion de Telegram

Le bouton de connexion de Telegram était un widget en iframe ; les pages de Telegram le qualifient désormais d'ancien et documentent à la place une connexion OpenID Connect. Si vous utilisez le widget, voici les cinq endroits où il s'arrête. Cette connexion prend une autre route : l'utilisateur arrive dans votre bot, pas sur une page que Telegram affiche pour vous.

(01)

Liaison au domaine

Widget de connexion Telegram (ancien)

Lié au seul domaine que vous définissez avec /setdomain dans BotFather. Un environnement de recette demande généralement un second bot, et la mauvaise origine échoue avec « Bot domain invalid ».

Connexion Telegram

Aucun domaine à déclarer. Le même bot dessert la production, la recette et chaque poste de développement.

(02)

Développement local

Widget de connexion Telegram (ancien)

En pratique, il ne tourne pas sur localhost : la connexion que vous livrez n'est pas celle que vous avez testée.

Connexion Telegram

Le flux par lien profond ne se soucie pas de l'endroit où tourne votre application. Les deux mêmes appels fonctionnent en local et en production ; l'utilisateur touche Start dans votre bot dans les deux cas.

(03)

Sessions et déconnexion

Widget de connexion Telegram (ancien)

Renvoie une charge utile signée et s'arrête là. Il n'y a pas de session à faire expirer ni rien dont se déconnecter.

Connexion Telegram

Renvoie un jeton d'accès qui expire au bout d'une heure, et un endpoint pour l'introspecter. Il n'y a pas d'appel de déconnexion : un jeton prend fin par expiration.

(04)

Le bouton

Widget de connexion Telegram (ancien)

Une iframe que l'on configure plutôt qu'un balisage que l'on contrôle : taille du bouton, rayon des angles et affichage ou non de la photo, dans le style propre à Telegram.

Connexion Telegram

Vous affichez votre propre bouton, car le flux se résume à deux appels HTTP et un lien. Il ressemble au reste de votre design system.

(05)

Vérification de signature

Widget de connexion Telegram (ancien)

Vous construisez la chaîne de contrôle et vérifiez le HMAC vous-même, correctement, dans chaque backend qui accepte une connexion.

Connexion Telegram

Géré de notre côté : le bot reçoit le toucher directement de Telegram, il n'y a donc aucune charge utile signée à vérifier. Votre backend introspecte un seul jeton.

(Fonctionnalités principales)

Ce que vous obtenez avec la connexion Telegram

(01)

Un toucher, pas de mot de passe

Vos clients se connectent en touchant Start dans votre bot. Pas de mot de passe à stocker, pas de flux d'e-mail à exploiter. Telegram ne vous donne aucune adresse e-mail : demandez-en une après la connexion si vous en avez besoin.

(02)

Utilisateurs séparés par compte

Les utilisateurs Telegram de chaque compte vivent dans leur propre espace de noms dans Ory Kratos, séparés des utilisateurs des autres comptes. La même personne qui se connecte à deux comptes obtient deux identités distinctes.

(03)

Apportez votre propre bot

Créez un bot avec @BotFather, collez son jeton dans le tableau de bord et activez-le. Pas de webhook public, et aucun de vos serveurs n'a besoin d'être joignable depuis Telegram.

(04)

Deux appels HTTP

Démarrez une connexion pour obtenir un nonce et un lien t.me. L'utilisateur touche Start dans votre bot, et vous interrogez le statut jusqu'à recevoir un jeton d'accès et l'identifiant, le nom d'utilisateur, le prénom et la photo Telegram. Le nonce est valable cinq minutes.

(05)

Jetons de bot chiffrés au repos

Les jetons de bot issus de @BotFather sont chiffrés avec AES-256-GCM. Nautilus lit les mises à jour de votre bot par long polling auprès de Telegram : vous n'exposez jamais de webhook. Un jeton permet à son détenteur d'agir comme le bot ; si le vôtre fait d'autres choses, créez un bot distinct pour la connexion.

(06)

SDK pour quatre langages

Les SDK officiels Node, PHP, Python et Rust ont une ressource passepartout : chacun des deux appels tient en une ligne.

(Un seul produit)

Telegram est une voie d'entrée, pas toute la connexion

La connexion Telegram vit dans le même compte Nautilus que tout le reste : le même tableau de bord, le même plan, une clé d'API qui lui est propre. C'est une façon de se connecter parmi d'autres. E-mail et mot de passe, Google, GitHub et huit autres fournisseurs passent par l'API de connexion de ce compte. Une connexion Telegram est un utilisateur à part : Nautilus ne la fusionne pas avec un compte e-mail ou social de la même personne.

Voir connexion et utilisateurs
L'utilisateur touche Start dans votre botNautilus le connecteVotre app reçoit un jeton d'accès

(Expérience développeur)

Ajoutez la connexion Telegram en deux appels

Démarrez une connexion, envoyez l'utilisateur vers le lien, interrogez jusqu'à la fin, dans n'importe quel langage. Vérifiez le jeton obtenu par un seul appel d'introspection.

# 1. Start a login — returns a nonce and a Telegram deep link
curl -X POST https://api.vernesoft.com/v1/passepartout/login/start \
  -H "Authorization: Bearer $VERNE_PASSEPARTOUT_KEY" \
  -H "Content-Type: application/json"
# => { "nonce": "n_9f2c…", "deep_link": "https://t.me/your_bot?start=n_9f2c…" }

# 2. Poll for status until the user taps Start in your bot
curl "https://api.vernesoft.com/v1/passepartout/login/status?nonce=n_9f2c…" \
  -H "Authorization: Bearer $VERNE_PASSEPARTOUT_KEY"
# => { "status": "completed", "access_token": "…", "user": { "id": "…" } }

(FAQ)

Questions fréquentes

Comment fonctionne le flux de connexion Telegram ?

Votre backend appelle POST /v1/passepartout/login/start et reçoit un nonce et un lien t.me. L'utilisateur ouvre le lien et touche Start dans votre bot. Votre backend interroge ensuite GET /v1/passepartout/login/status avec le nonce jusqu'à obtenir un statut terminé, avec un jeton d'accès et le profil Telegram de l'utilisateur.

Dois-je exécuter un webhook public pour le bot Telegram ?

Non. Nautilus lit les mises à jour de votre bot par long polling auprès de Telegram : il n'y a aucun webhook à exposer ni à protéger. Vous ajoutez seulement le jeton du bot obtenu auprès de @BotFather dans le tableau de bord.

Comment mes utilisateurs sont-ils séparés de ceux des autres comptes ?

Les utilisateurs Telegram ont chacun leur espace de noms par compte dans le magasin Ory Kratos partagé, et chaque compte connecte son propre bot. Les jetons de bot sont chiffrés au repos avec AES-256-GCM.

En quoi est-ce différent du Telegram Login Widget ?

Le widget iframe de Telegram, que ses propres pages qualifient désormais d'ancien, est lié à un seul domaine défini dans BotFather, n'a ni session ni déconnexion, et laisse la vérification HMAC à votre code. Ici, c'est un flux par lien profond : il fonctionne depuis n'importe quelle origine, nous faisons la validation, et vous obtenez un jeton d'accès avec une expiration. La connexion OpenID Connect plus récente de Telegram lève la règle du domaine unique et ne coûte rien ; elle envoie les utilisateurs sur la page de Telegram, alors qu'ici ils restent dans votre bot. Choisissez ce qui convient à votre flux.

Est-ce que cela fonctionne sur localhost ?

Oui. Il n'y a aucun domaine à déclarer : le même flux tourne en développement local et en production, et l'utilisateur touche Start dans votre bot dans les deux cas.

Est-ce facturé au message, comme les codes SMS ?

Rien n'est facturé au message, car l'acheminement passe par Telegram. Une connexion coûte une ou deux requêtes — la démarrer et, si vous le faites, vérifier le jeton —, quel que soit le temps que la personne met à appuyer sur Start : interroger le résultat est gratuit. L'usage se mesure en requêtes d'API : l'offre gratuite en inclut 3 000 par mois, Starter coûte 19 € pour 50 000 et Pro 79 € pour 300 000. La page des tarifs donne la liste à jour.

(Commencez aujourd'hui)

Offrez à vos clients une connexion Telegram

Pas de mot de passe à stocker, pas d'e-mail à livrer. Connectez un bot, créez une clé, et les 3 000 premières requêtes de chaque mois sont offertes.

Ce que coûte le sans-mot-de-passe

Le sans-mot-de-passe a un tarif, et il ne devient évident qu'en production. Les codes à usage unique par SMS se facturent au message, dans chaque pays, indéfiniment — et les routes les plus chères desservent souvent les clients les moins rentables. Les liens magiques déplacent le coût vers l'e-mail : un fournisseur transactionnel, un domaine chauffé, et les inscriptions perdues dans un dossier spam que vous ne pouvez pas inspecter.

L'acheminement par Telegram n'a aucun de ces deux coûts. Il arrive dans une application que l'utilisateur a déjà ouverte, il n'y a pas de frais par message à répercuter, et pas de réputation de domaine à entretenir. Ce que cela coûte à la place, c'est la portée : vos utilisateurs doivent être sur Telegram, une vraie contrainte et la raison honnête pour laquelle c'est une méthode de connexion parmi d'autres, et non la seule.

Le calcul est donc court. Là où votre public est déjà sur Telegram, vous n'avez ni facture par message ni délivrabilité d'e-mail à surveiller ; là où il ne l'est pas, l'API de connexion couvre l'e-mail, le mot de passe et dix fournisseurs de connexion sur le même compte. Un jeton de bot de @BotFather fait toute la configuration, et les 3 000 premières requêtes de chaque mois sont offertes.