passport-telegram-official
v2.0.1
Published
Telegram (not official, just the name) authentication strategy for Passport (https://core.telegram.org/widgets/login)
Downloads
851
Maintainers
Readme
passport-telegram-official
Passport strategy for authenticating with Telegram using their Widget.
This module lets you authenticate using Telegram in your Node.js applications. By plugging into Passport, Telegram authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
Install
$ npm install passport-telegram-official
or
$ yarn add passport-telegram-official
Usage
Create an Application
Before using passport-telegram-official
, you must register your bot and get a API token. Read more about it on Telegram Documentation. Then you must set your domain using /setdomain
command sent to @BotFather
Configure Strategy
The Telegram authentication strategy authenticates users using a Telegram
account and Telegram own OAuth. That is simply. Just specify botToken
and verify
callback to complete authentication.
passport.use(new TelegramStrategy({
botToken: BOT_TOKEN
},
function(profile, cb) {
User.findOrCreate({ telegramId: profile.id }, function (err, user) {
return cb(err, user);
});
}
));
Authenticate Requests
Set'up a route to receive requests
app.get('/auth/telegram',
passport.authenticate('telegram'),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
});
Widget
Generate widget here and paste code on your site. Like this:
<script async src="https://telegram.org/js/telegram-widget.js?2" data-telegram-login="YourBotName" data-size="medium" data-auth-url="/auth/telegram"></script>
Examples
Start a server from example
folder and go to home page. Note it won't work on localhost
.
FAQ
Contributing
Tests
Isn't done yet.
$ make test