我试图使用 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
}
我尝试检查文档并尝试在谷歌上搜索有关该错误的信息,但没有发现任何有用的信息。
提前感谢您的帮助。
这可能是由于 ClientId 和 Secret 配置错误造成的。例如,这个秘密可能已经过时了。
如果您使用supabase本地开发,请检查
config.toml
文件是否具有正确的值(或者如果您通过env注入,请检查您的.env文件)。
如果问题发生在 SUPABASE 云或本地部署中,请检查仪表板中这些值的配置是否正确。