身份验证不适用于 Supbase 和 Node.js

我不确定这是否可行,但我正在尝试将 Supbase 与 Node.js 一起使用。我从 React 前端得到代码,这个 link ,它工作正常。

下面是我的代码

client.js

const { createClient } = require('@supabase/supabase-js')

const supabaseUrl = "MY_URL"
const public_anon_key = "MY_ANON_KEY"
const supabase = createClient(supabaseUrl,public_anon_key)

exports.supabase = supabase

app.js

const { supabase }  = require('./client')

async function signOut() {
        /* sign the user out */
        await supabase.auth.signOut();
}

async function signInWithGithub() {
        /* authenticate with GitHub */
        await supabase.auth.signIn({
                provider: 'github'
        });
}

async function printUser() {
        const user = supabase.auth.user()
        console.log(user.email)
}

signInWithGithub()
printUser()
signOut()

我是 Node.js 的新手,我怀疑 Promises 缺少某些问题。是否可以从 Supabase 检索 user 数据,如果可以,我的代码缺少什么?

谢谢

编辑:标题

stack overflow Authentication not working with Supabase and Node.js
原文答案

答案:

作者头像

我不知道 Supabase 做了什么,但问题似乎与 Promise 相关

尝试如下更改您的 app.js

const { supabase }  = require('./client')

function signOut() {
        /* sign the user out */
        supabase.auth.signOut();
}

function signInWithGithub() {
        /* authenticate with GitHub */
        return  supabase.auth.signIn({
                provider: 'github'
        });
}
function printUser() {
        const user = supabase.auth.user()
        console.log(user.email)
}

signInWithGithub().then(() => {
   printUser()
   return signOut()

})