import NextAuth from 'next-auth';
import Steam, { STEAM_PROVIDER_ID } from 'next-auth-steam';
import type { NextRequest } from 'next/server';
const authHandler = async function auth(
req: NextRequest,
ctx: {
params: {
nextauth: string[];
};
},
) {
return await NextAuth(req, ctx, {
providers: [
Steam(req, {
clientSecret: process.env.STEAM_SECRET!,
}),
],
events: {
async signIn({user}) {
try {
const response = await fetch('http://localhost:5000/auth/user', {
method: 'POST',
body: JSON.stringify({
name: user?.name,
image: user?.image,
}),
headers: {
'Content-Type': 'application/json',
},
});
if (!response.ok) {
console.error('Failed to add user:', await response.text());
}
} catch (error) {
console.error('Error adding user to database:', error);
}
}
},
callbacks: {
async jwt({ token, account, profile }) {
if (account?.provider === STEAM_PROVIDER_ID) {
token.steam = profile;
}
return token;
},
session({ session, token, }) {
if ('steam' in token) {
// @ts-expect-error
session.user.steam = token.steam;
}
return session;
},
},
session: {
strategy: 'jwt',
maxAge: 1 * 10 * 10 * 10,
updateAge: 24 * 60 * 60,
},
secret: process.env.NEXTAUTH_SECRET,
});
};
export { authHandler as GET, authHandler as POST };
когда пользователь логинится, отправляется запрос на бек, чтобы добавить его в базу данных, как сделать так, чтобы когда заканчивается maxAge(время действия токена), то отправлялся запрос на удаление пользователя из бд?