2025-05-16 20:06:09 +03:00

43 lines
915 B
TypeScript

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',
},
};