Skip to content

Commit 405dea0

Browse files
committed
A lot of bugfixes
1 parent 328029f commit 405dea0

File tree

6 files changed

+165
-142
lines changed

6 files changed

+165
-142
lines changed

docker-compose.yml

-2
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ services:
88
build:
99
context: .
1010
restart: always
11-
expose:
12-
- 8080
1311
depends_on:
1412
- mongo
1513

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"homepage": "https://github.com/harvestcore/jwt-auth",
2525
"dependencies": {
2626
"bcrypt": "^5.0.1",
27-
"crypto": "^1.0.1",
27+
"crypto-js": "^4.0.0",
2828
"dotenv": "^8.2.0",
2929
"express": "^4.17.1",
3030
"jsonwebtoken": "^8.5.1",

server.ts

+27-7
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,17 @@ app.get('/', (_: Request, res: Response) => {
3434
});
3535

3636
app.get('/check', (req: Request, res: Response) => {
37-
const token = req.headers['jwt-access-token'];
37+
const authorization = req.headers.authorization || '';
38+
39+
if (!authorization.includes('Bearer')) {
40+
return res.status(422).json({
41+
status: false,
42+
message: 'Missing authentication.',
43+
metadata: {}
44+
});
45+
}
46+
47+
const token = authorization.replace('Bearer ', '');
3848

3949
if (token) {
4050
const validation = authManager.validateToken(token);
@@ -60,7 +70,7 @@ app.get('/login', async (req: Request, res: Response) => {
6070
});
6171
}
6272

63-
const [_, hash] = basicAuth.split('Basic ');
73+
const hash = basicAuth.replace('Basic ', '');
6474
const credentials = Buffer.from(hash, 'base64').toString('ascii');
6575
const [username, password] = credentials.split(':');
6676

@@ -78,7 +88,12 @@ app.get('/login', async (req: Request, res: Response) => {
7888
});
7989

8090
app.post('/validate', async (req: Request, res: Response) => {
81-
const { username, password, code } = req.body;
91+
const { code } = req.body;
92+
const basicAuth = req.headers.authorization || '';
93+
94+
const hash = basicAuth.replace('Basic ', '');
95+
const credentials = Buffer.from(hash, 'base64').toString('ascii');
96+
const [username, password] = credentials.split(':');
8297

8398
if (!username || !password || !code) {
8499
return res.status(422).json({
@@ -128,7 +143,12 @@ app.post('/register', async (req: Request, res: Response) => {
128143
});
129144

130145
app.post('/validate-user', async (req: Request, res: Response) => {
131-
const { username, password, code } = req.body;
146+
const { code } = req.body;
147+
const basicAuth = req.headers.authorization || '';
148+
149+
const hash = basicAuth.replace('Basic ', '');
150+
const credentials = Buffer.from(hash, 'base64').toString('ascii');
151+
const [username, password] = credentials.split(':');
132152

133153
if (!username || !password || !code) {
134154
return res.status(422).json({
@@ -161,17 +181,17 @@ app.post('/request-password-reset', async (req: Request, res: Response) => {
161181
});
162182

163183
app.post('/reset-password', async (req: Request, res: Response) => {
164-
const { username, password, code } = req.body;
184+
const { password, code } = req.body;
165185

166-
if (!username || !password || !code) {
186+
if (!password || !code) {
167187
return res.status(422).json({
168188
status: false,
169189
message: 'Missing fields.',
170190
metadata: {}
171191
});
172192
}
173193

174-
const response = await authManager.resetPassword(username, password, code);
194+
const response = await authManager.resetPassword(code, password);
175195
const statusCode = response.status ? 200 : 400;
176196

177197
return res.status(statusCode).json(response);

0 commit comments

Comments
 (0)