passport-telegram-official
TypeScript icon, indicating that this package has built-in type declarations

2.0.1 • 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

Package Sidebar

Install

npm i passport-telegram-official

Weekly Downloads

195

Version

2.0.1

License

MIT

Unpacked Size

77.4 kB

Total Files

24

Last publish

Collaborators

  • blitss