NextJS getToken returns null on requests from server side components

25 Views Asked by At

I was trying send get request to my backend but getToken returns null its working on client side component.

  • Cookie Sharing: universal-cookie library was used. Client-server cookie sharing configuration was checked for a custom server.
  • NextAuth.js Session Management: It was verified that sessions are stored in cookies. Session retrieval process was checked for a custom server-side provider.
  • getToken Usage: The req object was passed as the first argument to getToken on the server-side. No arguments were passed to getToken on the client-side.
Http Service
// add request interceptor http-service
httpService.interceptors.request.use(
  async (config) => {

    const user = await getToken({ req: rqst});
    if (user) {
      config.headers.Authorization = `Bearer ${user?.accessToken}`;
    }
    return config;
  },
  function (error: AxiosError) {
    // Do something with request error
    return Promise.reject(error);
  }
);
Next Auth
export const authOptions: NextAuthOptions = {
  secret: secret,
  providers: [
    CredentialsProvider({
      name: "credentials",
      credentials: {},
      async authorize(credentials) {
        const { email, password } = credentials as Credentials;

        return await loginUser(email, password);
      },
    }),
  ],
  pages: {
    signIn: "/auth/signin",
  },

  callbacks: {
    async signIn({ user, account, profile, email, credentials }) {
      return true;
    },
    async jwt({ token, user, account, profile, trigger }) {
      if (user) {
        // Merge the additional properties with the access token
        token = {
          ...user,
          accessToken: user.accessToken,
        };
      }

      return token;
    },
    async session({ session, user, token }) {
      session.user = {
        ...token,
      };

      return session;
    },
  },
};

Where am I making mistakes ? Thnx for helps.

0

There are 0 best solutions below