mirror of
https://github.com/roleypoly/roleypoly.git
synced 2025-04-25 11:59:11 +00:00
fix(api): login-callback may have null user in rare cases
This commit is contained in:
parent
823a99b4eb
commit
b7921a830a
1 changed files with 12 additions and 7 deletions
|
@ -69,7 +69,6 @@ export const LoginCallback = resolveFailures(
|
||||||
const tokens = (await tokenFetch.json()) as AuthTokenResponse;
|
const tokens = (await tokenFetch.json()) as AuthTokenResponse;
|
||||||
|
|
||||||
if (!tokens.access_token) {
|
if (!tokens.access_token) {
|
||||||
console.info({ tokens });
|
|
||||||
return AuthErrorResponse('token response invalid');
|
return AuthErrorResponse('token response invalid');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,6 +78,10 @@ export const LoginCallback = resolveFailures(
|
||||||
getGuilds(tokens.access_token),
|
getGuilds(tokens.access_token),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
if (!user) {
|
||||||
|
return AuthErrorResponse('failed to fetch user');
|
||||||
|
}
|
||||||
|
|
||||||
const sessionData: SessionData = {
|
const sessionData: SessionData = {
|
||||||
tokens,
|
tokens,
|
||||||
sessionID: sessionID.string,
|
sessionID: sessionID.string,
|
||||||
|
@ -94,12 +97,14 @@ export const LoginCallback = resolveFailures(
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const getUser = async (accessToken: string): Promise<DiscordUser> => {
|
const getUser = async (accessToken: string): Promise<DiscordUser | null> => {
|
||||||
const { id, username, discriminator, bot, avatar } = await discordFetch<DiscordUser>(
|
const user = await discordFetch<DiscordUser>('/users/@me', accessToken, 'Bearer');
|
||||||
'/users/@me',
|
|
||||||
accessToken,
|
if (!user) {
|
||||||
'Bearer'
|
return null;
|
||||||
);
|
}
|
||||||
|
|
||||||
|
const { id, username, discriminator, bot, avatar } = user;
|
||||||
|
|
||||||
return { id, username, discriminator, bot, avatar };
|
return { id, username, discriminator, bot, avatar };
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue