Implemented a simple authentication scheme with Firebase and Iron Session

This commit is contained in:
Tiago Ribeiro
2023-04-12 16:53:36 +01:00
parent cb1a67de23
commit 58bdc745e4
16 changed files with 1371 additions and 33 deletions

21
src/pages/api/logout.ts Normal file
View File

@@ -0,0 +1,21 @@
import {NextApiRequest, NextApiResponse} from "next";
import {getAuth, signOut} from "firebase/auth";
import {app} from "@/firebase";
import {sessionOptions} from "@/lib/session";
import {withIronSessionApiRoute} from "iron-session/next";
const auth = getAuth(app);
export default withIronSessionApiRoute(logout, sessionOptions);
async function logout(req: NextApiRequest, res: NextApiResponse) {
signOut(auth)
.then(() => {
req.session.destroy();
res.status(200).json({ok: true});
})
.catch(() => {
req.session.destroy();
res.status(500).json({ok: false});
});
}