Skip to content

Commit fc57c44

Browse files
committed
refactor(auth): improve error handling and response parsing in token exchange
- Renamed variable for clarity from `jsonResponse` to `errorResponse` to better reflect its purpose. - Consolidated response parsing to avoid multiple calls to `response.json()`, enhancing performance and readability. - Improved error handling by ensuring a consistent structure for error messages returned during token exchange.
1 parent eb0e902 commit fc57c44

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

packages/cli/utils/auth.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,18 +105,23 @@ async function exchangeCodeForToken(
105105
let errorDescription: string | undefined;
106106

107107
try {
108-
const jsonResponse = await response.json();
109-
errorDescription = jsonResponse.error_description || jsonResponse.error;
108+
const errorResponse = await response.json();
109+
errorDescription = errorResponse.error_description || errorResponse.error;
110110
} catch {
111111
// ignore
112112
}
113113

114114
return { error: errorDescription ?? "unknown error" };
115115
}
116116

117+
const successResponse = (await response.json()) as {
118+
access_token: string;
119+
expires_in: number;
120+
};
121+
117122
return {
118-
accessToken: (await response.json()).access_token,
119-
expiresAt: new Date(Date.now() + (await response.json()).expires_in * 1000),
123+
accessToken: successResponse.access_token,
124+
expiresAt: new Date(Date.now() + successResponse.expires_in * 1000),
120125
};
121126
}
122127

0 commit comments

Comments
 (0)