feat: fix authentication

This commit is contained in:
mrjvs
2026-08-08 20:55:56 +02:00
parent 69d133ab85
commit 0e174905f0
16 changed files with 154 additions and 116 deletions

View File

@@ -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
}
}
})
});