1
0
mirror of synced 2025-10-28 18:19:17 +00:00

login system & basic design system

This commit is contained in:
Valentin PUCCETTI
2023-09-10 13:57:57 +02:00
parent 4fec96b4b1
commit 8340a135d6
25 changed files with 1362 additions and 0 deletions

34
routes/auth.route.js Normal file
View File

@@ -0,0 +1,34 @@
const express = require('express');
const {default: axios} = require("axios");
const authService = require("../services/auth.service");
var router = express.Router();
router.get("/login", (req, res) => {
res.redirect(`https://github.com/login/oauth/authorize?client_id=` + process.env.GITHUB_CLIENT_ID)
})
router.get("/callback", async (req, res) => {
const access_token = await authService.getToken(req.query.code);
const user = await authService.fetchUser(access_token);
if (user) {
console.log(user)
req.session.access_token = access_token;
req.session.user = user;
req.session.loggedin = true;
res.redirect("/");
} else {
res.send("An error occured");
}
});
router.get("/logout", (req, res) => {
req.session.destroy(function() {
res.redirect('/')
})
})
module.exports = router;