Fred Liang 2023-12-25 04:07:35 +08:00
parent c0ce70ccc7
commit 5af68ac545
No known key found for this signature in database
GPG Key ID: 4DABDA85EF70EC71
2 changed files with 18 additions and 8 deletions

View File

@ -16,11 +16,11 @@ function getIP(req: NextRequest) {
function parseApiKey(bearToken: string) {
const token = bearToken.trim().replaceAll("Bearer ", "").trim();
const isOpenAiKey = !token.startsWith(ACCESS_CODE_PREFIX);
const isApiKey = !token.startsWith(ACCESS_CODE_PREFIX);
return {
accessCode: isOpenAiKey ? "" : token.slice(ACCESS_CODE_PREFIX.length),
apiKey: isOpenAiKey ? token : "",
accessCode: isApiKey ? "" : token.slice(ACCESS_CODE_PREFIX.length),
apiKey: isApiKey ? token : "",
};
}
@ -49,7 +49,7 @@ export function auth(req: NextRequest) {
if (serverConfig.hideUserApiKey && !!apiKey) {
return {
error: true,
msg: "you are not allowed to access openai with your own api key",
msg: "you are not allowed to access with your own api key",
};
}
@ -64,10 +64,7 @@ export function auth(req: NextRequest) {
if (systemApiKey) {
console.log("[Auth] use system api key");
req.headers.set(
"Authorization",
`Bearer ${systemApiKey}`,
);
req.headers.set("Authorization", `Bearer ${systemApiKey}`);
} else {
console.log("[Auth] admin did not provide an api key");
}

View File

@ -39,9 +39,22 @@ async function handle(
10 * 60 * 1000,
);
const authResult = auth(req);
if (authResult.error) {
return NextResponse.json(authResult, {
status: 401,
});
}
const bearToken = req.headers.get("Authorization") ?? "";
const token = bearToken.trim().replaceAll("Bearer ", "").trim();
console.log(
bearToken,
serverConfig.googleApiKey,
token ? token : serverConfig.googleApiKey,
);
const key = token ? token : serverConfig.googleApiKey;
if (!key) {
return NextResponse.json(