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
TypeScript
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;