Skip to content

Commit 2450bca

Browse files
committed
added support for react
1 parent b6e7b59 commit 2450bca

File tree

4 files changed

+23
-22
lines changed

4 files changed

+23
-22
lines changed

.env.sample

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
PORT=5000
2+
GITHUB_OAUTH_CLIENT_ID=
3+
GITHUB_OAUTH_CLIENT_SECRET=
4+
SQLITE_PATH=./database.db
5+
SECRET=

src/controllers/auth.controller.ts

+3-12
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,15 @@ import {
55
} from '../services/session.service';
66
import { createUserWithToken } from '../services/user.service';
77

8-
const frontend_url = process.env.FRONTEND_URL ?? '/'
9-
108
export const githubOauthHandler = async (
119
req: Request,
1210
res: Response,
1311
) => {
1412
try {
1513
const code = req.query.code as string;
1614

17-
if (req.query.error) {
18-
return res.redirect(`${frontend_url}/login`);
19-
}
20-
2115
if (!code) {
22-
console.log('authorization code not provided')
16+
return res.json({error: 'authorization code not provided'})
2317
}
2418

2519
// Get access_token using code
@@ -29,11 +23,8 @@ export const githubOauthHandler = async (
2923
const userData = await getGithubUser({access_token});
3024

3125
const returnedUser = await createUserWithToken(userData)
32-
if(returnedUser) {
33-
res.redirect(frontend_url);
34-
}else {
35-
res.json({error: 'no user returned'})
36-
}
26+
27+
res.json({user: returnedUser})
3728

3829
} catch (err: any) {
3930
res.json({'error': err.message})

src/controllers/logout.controller.ts

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import ActiveSession from '../models/activeSession';
2+
import { connection } from '../server/database';
3+
4+
export const logoutUser = (req: any, res: any) => {
5+
const { token } = req.body;
6+
const activeSessionRepository = connection!.getRepository(ActiveSession);
7+
8+
activeSessionRepository.delete({ token })
9+
.then(() => res.json({ success: true }))
10+
.catch(() => {
11+
res.json({ success: false, msg: 'Token revoked' });
12+
});
13+
}

src/routes/users.ts

+2-10
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { checkToken } from '../config/safeRoutes';
1212
import ActiveSession from '../models/activeSession';
1313
import User from '../models/user';
1414
import { connection } from '../server/database';
15+
import { logoutUser } from '../controllers/logout.controller';
1516

1617
// eslint-disable-next-line new-cap
1718
const router = express.Router();
@@ -115,16 +116,7 @@ router.post('/login', (req, res) => {
115116
});
116117
});
117118

118-
router.post('/logout', checkToken, (req, res) => {
119-
const { token } = req.body;
120-
const activeSessionRepository = connection!.getRepository(ActiveSession);
121-
122-
activeSessionRepository.delete({ token })
123-
.then(() => res.json({ success: true }))
124-
.catch(() => {
125-
res.json({ success: false, msg: 'Token revoked' });
126-
});
127-
});
119+
router.post('/logout', checkToken, logoutUser);
128120

129121
router.post('/checkSession', checkToken, (_req, res) => {
130122
res.json({ success: true });

0 commit comments

Comments
 (0)