login system & basic design system
This commit is contained in:
34
routes/auth.route.js
Normal file
34
routes/auth.route.js
Normal 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;
|
||||
Reference in New Issue
Block a user