mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 16:23:41 +08:00 
			
		
		
		
	Merge pull request #3620 from fredliang44/main
fix: fix issue cannot using gemini-pro with code auth
This commit is contained in:
		@@ -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");
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,13 @@ 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();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user