import { type AuthOptions } from 'next-auth'; import CredentialsProvider from 'next-auth/providers/credentials'; export const authOptions: AuthOptions = { callbacks: { async jwt({ token, user }) { if (user) { token.id = user.id; } return token; }, async session({ session, token }) { if (token?.id && session?.user) { session.user.telegramId = token.id as number; } return session; }, }, providers: [ CredentialsProvider({ async authorize(credentials) { const { telegramId } = credentials ?? {}; if (!telegramId) { throw new Error('Invalid Telegram ID'); } return { id: telegramId }; }, credentials: { telegramId: { label: 'Telegram ID', type: 'text' }, }, id: 'telegram', name: 'Telegram', }), ], session: { strategy: 'jwt', }, };