标签: supabase

如何使用Supabase实现匿名授权?

有没有办法使用Supabase实现匿名授权?

我有一个移动应用程序,我想实现以下功能:
每个用户在安装应用程序后都应该在服务器上拥有一个帐户。我将使用设备 ID 作为主要标识符。这将创建一个临时帐户。当用户签署服务条款时,它将转换为完整的帐户。因此,我需要能够使用 Supabase 创建临时帐户。我在文档中没有找到与此问题相关的任何内容。

我知道Firebase中有类似的功能

你能帮我吗?是否有可能使用 Supabase 来实现这一点?

authentication supabase

12
推荐指数
1
解决办法
5903
查看次数

Supabase:列级安全解决方案

目前,我正在使用 Supabase 数据库。我面临的一大障碍是列级安全性,这似乎比 RLS 复杂得多。

假设我有一个名为 的列is_banned,该列可查看但不可编辑。但是,其余列应该是可编辑和可查看的。

我真正能想到的唯一解决方案是将其分成两个表,并在“敏感信息”表上使用 RLS - 但为每个表创建一个私有表似乎相当不必要。

还有其他解决方案吗?

database postgresql supabase

11
推荐指数
1
解决办法
4951
查看次数

Supabase,按外键行的列值过滤

我试图弄清楚如何在 supabase 中实现查询:

模式

CREATE TABLE cars 
(
    id SERIAL PRIMARY KEY,
    brand TEXT
);

CREATE TABLE stores 
(
    id SERIAL PRIMARY KEY,
    car INT REFERENCES car(id),
    name TEXT
);
Run Code Online (Sandbox Code Playgroud)

我想要获取所有出售品牌“x”汽车的商店

在 Supabase 中我可以这样过滤:

let { data: stores } = await supabase
  .from('stores')
  .select("*")
  .eq('name', 'Ford car shop')


// Returns
{
  id: 123456,
  car:"Ford",
  name:"Ford car shop"
}
Run Code Online (Sandbox Code Playgroud)

或者像这样加入:

let { data: stores } = await supabase
  .from('stores')
  .select(`
    *,
    cars (
      brand
    )
  `)
  .eq('name', 'Ford car shop')

// …
Run Code Online (Sandbox Code Playgroud)

sql supabase supabase-database

9
推荐指数
1
解决办法
7497
查看次数

删除Supabase中的关联记录

使用 Supabase 时,是否有一种干净/简单的方法可以删除所有关联记录以及某个项目?假设我有帖子,并且一个帖子可以有很多评论。当我删除帖子时,我也想删除评论。

基本上就像dependend: :destroyRails 中的东西。

const { data, error } = await supabase
  .from('posts')
  .delete()
  .match({ id: 123 })
  .options({ destroyDependent: true }) // set some option that tells Supabase to delete all associated records as well.
Run Code Online (Sandbox Code Playgroud)

javascript sql supabase supabase-database

8
推荐指数
2
解决办法
9178
查看次数

是否有 RESTful API 可用于 Supabase 的身份验证功能

我们正在尝试Supabase,发现它很棒,尤其是实现用户身份验证是多么容易。到目前为止,我们一直在使用官方的 JavaScript 客户端库,并且我们尝试的一切都有效(为开发人员竖起大拇指!)。

然而,对于我们的一些项目,我们使用 OCaml 作为后端,它不基于 JavaScript 运行时。似乎存在其他本地语言(例如Go和Rust)的客户端库,并且官方网站文档记录了访问数据库的RESTful API。

我想知道是否可以通过 RESTful API 与 Supabase 提供的身份验证功能集成,即不使用官方 JavaScript 客户端。我尝试过,但无法找到与此相关的文档。

supabase

8
推荐指数
1
解决办法
5014
查看次数

有没有办法使用对象引用从 Postgres 生成 OpenAPI/Swagger 定义?

我有一个使用supabase/postgres(t) 的rest api,它生成它自己的OpenAPI/Swagger 定义。问题是这仅包含 id 字段,但不包含对其他表的实际引用。

因此,当使用 openapi-generator 生成客户端时,类仅包含外键,而不包含实际的对象引用。

有没有办法生成带有引用的 openapi 定义,以便我可以带有引用生成我的类?

{
  "swagger": "2.0",
  "info": {
    "description": "standard public schema",
    "title": "PostgREST API",
    "version": "9.0.0.20220211 (pre-release) (dcf7ade)"
  },
  "host": "localhost:3000",
  "basePath": "/",
  "schemes": [
    "http"
  ],
  "consumes": [
    "application/json",
    "application/vnd.pgrst.object+json",
    "text/csv"
  ],
  "produces": [
    "application/json",
    "application/vnd.pgrst.object+json",
    "text/csv"
  ],
  "paths": {
    "/": {
      "get": {
        "tags": [
          "Introspection"
        ],
        "summary": "OpenAPI description (this document)",
        "produces": [
          "application/openapi+json",
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/hallo": …
Run Code Online (Sandbox Code Playgroud)

postgresql swagger postgrest openapi-generator supabase

8
推荐指数
0
解决办法
1612
查看次数

Next JS - Supabase 错误:AuthApiError:无效的刷新令牌:已使用

我正在尝试在 Next JS 项目中实现 Supabase Auth

现在我遇到以下错误,该错误在以下情况下不断重复I npm run dev

[AuthApiError: Invalid Refresh Token: Already Used]{
 __isAuthError: true,
name: 'AuthApiError',
status: 400
}
Run Code Online (Sandbox Code Playgroud)

这是我的中间件.ts

import type { NextRequest } from "next/server";
import { NextResponse } from "next/server";
import { createMiddlewareClient } from "@supabase/auth-helpers-nextjs";
import { Database } from "./types";

const locales = ["en", "ar"];
const defaultLocale = "en";
const PUBLIC_FILE = /\.(.*)$/;

export async function middleware(req: NextRequest) {
  const res = NextResponse.next();
  const supabase = createMiddlewareClient<Database>({ req, res …
Run Code Online (Sandbox Code Playgroud)

next.js supabase next.js13

8
推荐指数
0
解决办法
675
查看次数

如何在 Nuxt 3 服务器/api 中传递参数?

我不知道如何将参数传递给 Nuxt 3 中的匿名函数。

index.vue:

<template>
  <form @submit.prevent="signUpNewsletter()">
    <input type="email" placeholder="example@x.com" v-model="userEmail">
    <input type="submit" value="Submit">
  </form>
</template>

<script setup>
const userEmail = ref('x@x.de')

function signUpNewsletter () {
  useAsyncData(
    'newsletter',
    () => $fetch('/api/sign_up_news', {
      method: 'POST', // Post method works
      body: {
        email: userEmail.value
      }
    })
  )
}
</script>
Run Code Online (Sandbox Code Playgroud)

server/api/sign_up_news.js:

import { createClient } from '@supabase/supabase-js'

export default async (email) => { // can't read the parameter
  const SUPABASE_KEY = 'key123'
  const SUPABASE_URL = 'url.supabase.co'
  const supabase = createClient(SUPABASE_URL, SUPABASE_KEY)

  const …
Run Code Online (Sandbox Code Playgroud)

javascript anonymous-function vuejs3 supabase nuxtjs3

7
推荐指数
1
解决办法
1万
查看次数

无法使用 Prisma 和 Supabase 迁移架构

当我使用 Postgres 数据库时,Supabase我运行以下命令,npx prisma migrate dev --name init但出现以下错误(屏幕截图中的第一个命令):

Error: db error: FATAL: bouncer config error
   0: migration_core::state::DevDiagnostic
             at migration-engine/core/src/state.rs:251
Run Code Online (Sandbox Code Playgroud)

当我使用railway.appPostgres 数据库时,它会成功迁移(屏幕截图中的第二个命令)。

prisma 命令截图,第一个是supabase,下面是railway.app

postgresql prisma supabase supabase-database

7
推荐指数
1
解决办法
3075
查看次数

Supabase 生成类型失败

我正在尝试运行命令来通过 cli 更新我的输入,但它继续给出以下错误,但是当我调试时,这就是我得到的全部。没什么可合作的。

2023/03/01 09:34:01 Recv First Byte
Error: failed to retrieve generated types: {"message":"Forbidden resource"}
Run Code Online (Sandbox Code Playgroud)

我正在运行以下命令

 npx supabase gen types typescript --project-id "$MY_ID" --schema public > types/supabase.ts --debug
Run Code Online (Sandbox Code Playgroud)

如果有人以前见过这个问题,请告诉我。我以前一直使用这个命令,之前没有任何问题,现在它似乎引起了问题。

javascript typescript nuxt.js supabase

7
推荐指数
2
解决办法
3093
查看次数