UNPKG

passport-telegram-official

Version:

Telegram (not official, just the name) authentication strategy for Passport (https://core.telegram.org/widgets/login)

32 lines (31 loc) 1 kB
import { Request } from 'express'; export interface TelegramOptions { botToken: string; queryExpiration?: number; passReqToCallback?: boolean; } export interface TelegramUser { auth_date: number; first_name: string; hash: string; id: string; last_name: string; username: string; photo_url: string; } export declare type PassportTelegramUser = TelegramUser & { provider: 'telegram'; id: number; displayName: string; name: { familyName: string; givenName: string; }; photos: Array<{ value: string; }>; }; export declare type DoneCallback = (err: any, user: any, info: any) => void; export declare type CallbackWithRequest = (req: Request, user: PassportTelegramUser, done: DoneCallback) => void; export declare type CallbackWithoutRequest = (user: PassportTelegramUser, done: DoneCallback) => void; export declare type VerifyCallback = CallbackWithRequest | CallbackWithoutRequest;