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 ```