mirror of
https://github.com/PretendoNetwork/website.git
synced 2026-10-01 21:16:51 -05:00
feat: fix authentication
This commit is contained in:
@@ -1,28 +1,25 @@
|
||||
import { Metadata } from "nice-grpc";
|
||||
import { useGrpc } from "../utils/useGrpc";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const authHeader = getRequestHeader(event, "authorization");
|
||||
const authHeader = getRequestHeader(event, 'authorization');
|
||||
event.context.auth = null;
|
||||
if (authHeader) {
|
||||
const grpc = useGrpc(event);
|
||||
try {
|
||||
const [type, token] = authHeader.split(" ", 2);
|
||||
if (type !== "Bearer") throw new Error("Invalid token type");
|
||||
if (!token) throw new Error("Invalid token");
|
||||
const userData = await grpc.getUserData({}, {
|
||||
metadata: new Metadata({
|
||||
'X-Token': token
|
||||
})
|
||||
});
|
||||
const [type, token] = authHeader.split(' ', 2);
|
||||
if (type !== 'Bearer') {
|
||||
throw new Error('Invalid token type');
|
||||
}
|
||||
if (!token) {
|
||||
throw new Error('Invalid token');
|
||||
}
|
||||
const grpc = useApiGrpcWithToken(event, token);
|
||||
const userData = await grpc.getUserData({});
|
||||
|
||||
event.context.auth = {
|
||||
pid: userData.pid,
|
||||
username: userData.username,
|
||||
}
|
||||
username: userData.username
|
||||
};
|
||||
} catch (err) {
|
||||
console.error("Failed to request user data: ", err);
|
||||
console.error('Failed to request user data: ', err);
|
||||
return; // Continue like nothing happened, further steps will validate if authed
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user