Telegram
Add Telegram OAuth provider to your application
Telegram Login Widget provides a secure way to authenticate users through their Telegram accounts. Unlike traditional OAuth providers, Telegram uses a widget-based approach with cryptographic verification.
Create a Telegram Bot
Create a bot via @BotFather:
- Open Telegram and search for @BotFather
- Send
/newbotand follow the prompts to create your bot
- After creation, BotFather will provide you with a bot token - save this securely

- Send
/setdomainto BotFather and provide your domain (e.g.,example.com)
:::tip
The bot token is sensitive information. Never share it publicly or commit it to version control.
:::
Add Telegram Provider in Hanzo IAM
- Navigate to Providers in Hanzo IAM's admin panel
- Click Add to create a new provider
- Set Category to
OAuthand Type toTelegram - Configure the provider:
- Client ID: Your bot's username (e.g.
iam_telegram_botno need @) - Client Secret: The bot token provided by BotFather

- Client ID: Your bot's username (e.g.
:::note Domain Verification
Authentication will only work from the domain you registered with BotFather using the /setdomain command. Make sure your Hanzo IAM instance is accessible from this domain.
:::
Logging In with Telegram
With the setup completed, users can now log in with Telegram.
Authentication flow
Users sign in via Telegram’s login widget; Hanzo IAM validates the HMAC-SHA256 signature and timestamp per Telegram’s spec. Profile data includes user ID, name, username, and optional photo. Telegram does not provide email via the widget; collect email separately if needed.
How is this guide?
Last updated on