Supabase:如何通过eMail查询用户?

Supabase: how to query users by eMail?

我在 Node JS 中间件中使用 Supabase。我正在开发一个邀请功能,它通过 REST 端点接收现有 supabase 用户的电子邮件地址。现在它应该查询用户 table 以获得用户 ID。但这似乎不起作用:

(我使用 Supabase JavaScript 库和绕过行级安全性的管理密钥):

const { createClient,   } = require('@supabase/supabase-js')
const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_KEY)
supabase
  .from('users')
  .select('id')
  .eq('email', 'doe@example.com')
  .then(response => {
    console.log(response)
  })

我收到这个错误:

'relation "public.users" does not exist'

我还尝试了

的查询
supabase
  .from('users')
  .select('id')
  .eq('email', 'doe@example.com')
  .then(response => {
    console.log(response)
  })

但这也失败了。好像查询不到用户table.

我做错了什么?如何通过给定的电子邮件查询用户 ID?

任何人都可以把我推向正确的方向吗?

谢谢,

妮可

自己找到解决方法:

您不能直接查询 auth.users table。相反,您必须使用稍后要使用的数据创建一个副本(例如 public.users 或 public.profile 等)。

您可以在创建用户后立即自动创建 public.users table 条目。

我在博客中写下了一些代码示例和详细信息post:Supabase: How to query users table?