npm

Don't miss out on this year's npm Pride t-shirt designs!Order your favorites here »

passport-telegram-official

1.1.0 • Public • Published

passport-telegram-official

Build Coverage Quality Dependencies

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

License

The MIT License

install

npm i passport-telegram-official

Downloadsweekly downloads

41

version

1.1.0

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability