I cant do authorization with NEXTJS 14 and Apollo

I’m new with full stack approach and my fault can be silly and maybe its just about js syntax something.

I’m confused about how I cant get it. the “req.headers.authorization” came undefined but its not undefined that u can see with the console log on the below

Please help me

This is my code to authorization and also console.log on the below

import { ApolloServer } from "@apollo/server";
import { startServerAndCreateNextHandler } from "@as-integrations/next";
import { typeDefs } from "@/graphql/schema";
import { resolvers } from "@/graphql/resolvers";
import jwt from "jsonwebtoken";

const apolloServer = new ApolloServer({ typeDefs, resolvers });

const getUserFromToken = (token: string | undefined | null) => {
  try {
    if (token) {
      return jwt.verify(token.substring(7), process.env.JWT_SECRET as string);
    }
    return null;
  } catch (error) {
    return null;
  }
};

export const config = {
  api: {
    bodyParser: false,
  },
};

const handler = startServerAndCreateNextHandler(apolloServer, {
  context: async (req) => {
    console.log("Request Headers:", req.headers);

    const token = req ? req.headers.authorization : null;

    console.log("Token:", token);

    const user = getUserFromToken(token);
    console.log("User:", user);

    return { user };
  },
});

export { handler as GET, handler as POST }; ```

********
CONSOLE
********

``` Request Headers: _HeadersList {

cookies: null,

[Symbol(headers map)]: Map(23) {

'accept' => { name: 'accept', value: '*/*' },

'accept-encoding' => { name: 'accept-encoding', value: 'gzip, deflate, br, zstd' },

'accept-language' => {

name: 'accept-language',

value: 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7'

},

'authorization' => {

name: 'authorization',

value: 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2ODA0NjFmNmM2ZDlkNTM5ZGUwOTEwYiIsInVzZXJuYW1lIjoibWF2aW5lc2UiLCJmdWxsbmFtZSI6Ik1hdmkgTmVzZSIsImlhdCI6MTcyMjc3MjI1NywiZXhwIjoxNzIyODU4NjU3fQ.zDP46i46WV5Ue8OKPeTebI5XUywYA7H8RZocr_f1Rc0'

},

'cache-control' => { name: 'cache-control', value: 'no-cache' },

'connection' => { name: 'connection', value: 'keep-alive' },

'content-length' => { name: 'content-length', value: '321' },

'content-type' => { name: 'content-type', value: 'application/json' },

'host' => { name: 'host', value: 'localhost:3001' },

'origin' => { name: 'origin', value: 'http://localhost:3001' },

'pragma' => { name: 'pragma', value: 'no-cache' },

'referer' => { name: 'referer', value: 'http://localhost:3001/admin/login' },

'sec-ch-ua' => {

name: 'sec-ch-ua',

value: '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"'

},

'sec-ch-ua-mobile' => { name: 'sec-ch-ua-mobile', value: '?0' },

'sec-ch-ua-platform' => { name: 'sec-ch-ua-platform', value: '"macOS"' },

'sec-fetch-dest' => { name: 'sec-fetch-dest', value: 'empty' },

'sec-fetch-mode' => { name: 'sec-fetch-mode', value: 'cors' },

'sec-fetch-site' => { name: 'sec-fetch-site', value: 'same-origin' },

'user-agent' => {

name: 'user-agent',

value: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'

},

'x-forwarded-for' => { name: 'x-forwarded-for', value: '::1' },

'x-forwarded-host' => { name: 'x-forwarded-host', value: 'localhost:3001' },

'x-forwarded-port' => { name: 'x-forwarded-port', value: '3001' },

'x-forwarded-proto' => { name: 'x-forwarded-proto', value: 'http' }

},

[Symbol(headers map sorted)]: [

[ 'accept', '*/*' ],

[ 'accept-encoding', 'gzip, deflate, br, zstd' ],

[ 'accept-language', 'tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7' ],

[

'authorization',

'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2ODA0NjFmNmM2ZDlkNTM5ZGUwOTEwYiIsInVzZXJuYW1lIjoibWF2aW5lc2UiLCJmdWxsbmFtZSI6Ik1hdmkgTmVzZSIsImlhdCI6MTcyMjc3MjI1NywiZXhwIjoxNzIyODU4NjU3fQ.zDP46i46WV5Ue8OKPeTebI5XUywYA7H8RZocr_f1Rc0'

],

[ 'cache-control', 'no-cache' ],

[ 'connection', 'keep-alive' ],

[ 'content-length', '321' ],

[ 'content-type', 'application/json' ],

[ 'host', 'localhost:3001' ],

[ 'origin', 'http://localhost:3001' ],

[ 'pragma', 'no-cache' ],

[ 'referer', 'http://localhost:3001/admin/login' ],

[

'sec-ch-ua',

'"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"'

],

[ 'sec-ch-ua-mobile', '?0' ],

[ 'sec-ch-ua-platform', '"macOS"' ],

[ 'sec-fetch-dest', 'empty' ],

[ 'sec-fetch-mode', 'cors' ],

[ 'sec-fetch-site', 'same-origin' ],

[

'user-agent',

'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'

],

[ 'x-forwarded-for', '::1' ],

[ 'x-forwarded-host', 'localhost:3001' ],

[ 'x-forwarded-port', '3001' ],

[ 'x-forwarded-proto', 'http' ]

]

}

Token: undefined

User: null ```