Next.js 12 + Supabase项目错误“No storage option exists to persist the session”

7vhp5slm  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(111)

我正在使用Supabase和Next.js 12.3.4进行一个项目,我已经使用本教程设置了Google登录:Supabase Login with Google。当我运行项目时,终端反复警告

No storage option exists to persist the session, which may result in unexpected behavior when using auth.
        If you want to set persistSession to true, please provide a storage option or you may set persistSession to false to disable this warning.

这是登录的代码:

import supabaseClient from "./supabaseClient";

export default async function signInWithGoogle() {
    const { data, error } = await supabaseClient.auth.signInWithOAuth({
        provider: 'google',
        options: {
            redirectTo: 'http://localhost:3000/account'
        }
    })
}

一个对其他人的post的回应建议遵循this tutorial,我尝试了我的项目也有一个pages目录。然而,教程引用了一个src/App.jsx文件,其中包含一个App函数,而我有一个pages/_app.js文件,其中包含“export default class MyApp extends App”,教程对此不起作用--尝试使用_app.js中推荐的代码导致Error: Invalid hook call. Hooks can only be called inside of the body of a function component.
这是我的**_app.js**文件:

import App from 'next/app'
import Head from 'next/head'
import React from 'react'
import { Analytics } from '@vercel/analytics/react';
import font from "/components/styles.css";

export default class MyApp extends App {
    static async getInitialProps({ Component, ctx }) {
        let pageProps = {}

        if (Component.getInitialProps) {
            pageProps = await Component.getInitialProps(ctx)
        }

        return { pageProps }
    }

    render() {
        const { Component, pageProps } = this.props

        return (
            <>
                <Head>
                    <title>words</title>
                   
                </Head>
                <Component {...pageProps} />
                <Analytics />
            </>
        )
    }
}

如何解决存储错误?(我对所有这些技术都是新手,所以这可能有一个明显的解决方案。)谢谢!

to94eoyn

to94eoyn1#

我在node中使用supabase时也遇到了这个问题,希望它能解决你的问题

const supabase = createClient(supabaseUrl, supabaseKey,{auth{persistSession: false})

相关问题