With next auth For apple login I am getting message: 'PKCE code_verifier cookie was missing.' How can I fix it?

532 Views Asked by At

My code :

const handler = NextAuth({
  providers: [
    GoogleProvider({
      clientId: process.env.GOOGLE_CLIENT_ID?? '',
      clientSecret: process.env.GOOGLE_CLIENT_SECRET?? ''
    }),
    AppleProvider({
      clientId: process.env.APPLE_CLIENT_ID?? '',
      clientSecret: process.env.APPLE_CLIENT_SECRET?? '',
    }),

  callbacks: {
    async jwt({token, account}) {
      if (account) {
        token = Object.assign({}, token, { access_token: account.access_token, id_token: account.id_token,  refresh_token: account.refresh_token, provider: account.provider  });
      }

        return token
    },
    async session({session, token, user}) {
      console.log(`my user is ${JSON.stringify(user, null, 2)}`)
    if(session) {
      session = Object.assign({}, session, {access_token: token.access_token, id_token: token.id_token,  refresh_token: token.refresh_token, provider: token.provider})
      if (session.provider === "google") {
        try {
          console.log(`hi my name is ${session.provider}`)
          const  apiKey = process.env.API_KEY
          const response = await axios.post(
            "process.env.API_URL",
            {  authorizationCode: token.id_token, apiKey: apiKey },
            {
              headers: {
                "Content-Type": "application/json",
              },
            }
          );
          const userData = response.data;
        } catch (error) {
          console.error("Failed:", error);
        }
      }

      if(session.provider === "credentials"){
        session = Object.assign({}, session, {access_token: token.access_token, id_token: token.id_token,  refresh_token: token.refresh_token, provider: token.provider, })
      }

      }
    return session
    },
   
  },

I followed bunch of tutorials but no one mentions anything about handling this cookie. I am under the impression that it's handled by next auth. So what can I do here?

Complete error is this:

  name: 'OAuthCallbackError',
    code: undefined
  },
  providerId: 'apple',
  message: 'PKCE code_verifier cookie was missing.'
0

There are 0 best solutions below