mirror of
https://github.com/PretendoNetwork/website.git
synced 2026-08-31 13:07:12 -05:00
30 lines
894 B
TypeScript
30 lines
894 B
TypeScript
export default defineEventHandler(async (event) => {
|
|
const authHeader = getRequestHeader(event, 'authorization');
|
|
setAuthContext(event, null);
|
|
if (authHeader) {
|
|
try {
|
|
const [type, token] = authHeader.split(' ', 2);
|
|
if (type !== 'Bearer') {
|
|
throw new Error('Invalid token type');
|
|
}
|
|
if (!token) {
|
|
throw new Error('Invalid token');
|
|
}
|
|
const grpc = useLegacyApiGrpcWithToken(event, token);
|
|
const userData = await grpc.getUserData({});
|
|
|
|
setAuthContext(event, {
|
|
pid: userData.pid,
|
|
username: userData.username,
|
|
token: token,
|
|
accessLevel: userData.accessLevel,
|
|
email: userData.emailAddress,
|
|
stripeSubscriptionId: userData.connections?.stripe?.subscriptionId ?? null
|
|
});
|
|
} catch (err) {
|
|
console.error('Failed to request user data: ', err);
|
|
return; // Continue like nothing happened, further steps will validate if authed
|
|
}
|
|
}
|
|
});
|