supabase github auth 上出现“代码质询与之前保存的代码验证程序不匹配”错误

问题描述 投票:0回答:1

我试图使用 supabase 在 next.js 应用程序上进行 github 身份验证,一切似乎都正常,但是当用户从 github 重定向回该网站时,该网站遇到了 supabase 错误。

这是身份验证处理程序和错误供参考。

import { createRouteHandlerClient } from '@supabase/auth-helpers-nextjs'
import { cookies } from 'next/headers'
import { NextResponse } from 'next/server'

import type { NextRequest } from 'next/server'

export const dynamic = 'force-dynamic'

export async function GET(request: NextRequest) {
  const requestUrl = new URL(request.url)
  const code = requestUrl.searchParams.get('code')

  if (code) {
    const supabase = createRouteHandlerClient({ cookies })
    await supabase.auth.exchangeCodeForSession(code)
  }

  // URL to redirect to after sign in process completes
  return NextResponse.redirect(requestUrl.origin)
}
- error AuthApiError: code challenge does not match previously saved code verifier
    at handleError (/var/task/.next/server/chunks/950.js:3541:11)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async _handleRequest (/var/task/.next/server/chunks/950.js:3589:9)
    at async _request (/var/task/.next/server/chunks/950.js:3568:18)
    at async SupabaseAuthClient._exchangeCodeForSession (/var/task/.next/server/chunks/950.js:1620:33)
    at async /var/task/.next/server/chunks/950.js:2027:28 {
  __isAuthError: true,
  status: 403
}

我尝试检查文档并尝试在谷歌上搜索有关该错误的信息,但没有发现任何有用的信息。

提前感谢您的帮助。

next.js supabase supabase-js
1个回答
0
投票

这可能是由于 ClientId 和 Secret 配置错误造成的。例如,这个秘密可能已经过时了。

如果您使用supabase本地开发,请检查

config.toml
文件是否具有正确的值(或者如果您通过env注入,请检查您的.env文件)。

如果问题发生在 SUPABASE 云或本地部署中,请检查仪表板中这些值的配置是否正确。

© www.soinside.com 2019 - 2024. All rights reserved.