有没有办法使用Supabase实现匿名授权?
我有一个移动应用程序,我想实现以下功能:
每个用户在安装应用程序后都应该在服务器上拥有一个帐户。我将使用设备 ID 作为主要标识符。这将创建一个临时帐户。当用户签署服务条款时,它将转换为完整的帐户。因此,我需要能够使用 Supabase 创建临时帐户。我在文档中没有找到与此问题相关的任何内容。
你能帮我吗?是否有可能使用 Supabase 来实现这一点?
目前,我正在使用 Supabase 数据库。我面临的一大障碍是列级安全性,这似乎比 RLS 复杂得多。
假设我有一个名为 的列is_banned,该列可查看但不可编辑。但是,其余列应该是可编辑和可查看的。
我真正能想到的唯一解决方案是将其分成两个表,并在“敏感信息”表上使用 RLS - 但为每个表创建一个私有表似乎相当不必要。
还有其他解决方案吗?
我试图弄清楚如何在 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) 使用 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) 我们正在尝试Supabase,发现它很棒,尤其是实现用户身份验证是多么容易。到目前为止,我们一直在使用官方的 JavaScript 客户端库,并且我们尝试的一切都有效(为开发人员竖起大拇指!)。
然而,对于我们的一些项目,我们使用 OCaml 作为后端,它不基于 JavaScript 运行时。似乎存在其他本地语言(例如Go和Rust)的客户端库,并且官方网站文档记录了访问数据库的RESTful API。
我想知道是否可以通过 RESTful API 与 Supabase 提供的身份验证功能集成,即不使用官方 JavaScript 客户端。我尝试过,但无法找到与此相关的文档。
我有一个使用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) 我正在尝试在 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) 我不知道如何将参数传递给 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) 当我使用 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 数据库时,它会成功迁移(屏幕截图中的第二个命令)。
我正在尝试运行命令来通过 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)
如果有人以前见过这个问题,请告诉我。我以前一直使用这个命令,之前没有任何问题,现在它似乎引起了问题。
supabase ×10
javascript ×3
postgresql ×3
sql ×2
database ×1
next.js ×1
next.js13 ×1
nuxt.js ×1
nuxtjs3 ×1
postgrest ×1
prisma ×1
swagger ×1
typescript ×1
vuejs3 ×1