从使用Suabase登录的客户端到web服务器的经过身份验证的请求



在我的例子中,我有一个web客户端、一个web服务器和一个桌面应用程序。首先,用户在web客户端中创建一个带有电子邮件和密码的配置文件。此时,一旦进入主页,用户就会使用OAuth2.0连接第三方服务。服务器处理授权代码流,并且需要将access_tokenrefresh_token存储在某个地方。

所以,第一个问题是如何从服务器将东西存储在SupadasePostgresDB中?

我可以使用任何连接到SQL数据库的库来访问它吗?

假设这样做了,现在用户将下载桌面应用程序并使用相同的用户名和密码登录。客户端上的Subasse很高兴,并且用户已通过身份验证。现在我需要向我的网络服务器请求一些资源。

第二个问题是,我如何向服务器证明我是用户X?

编辑:从这里开始,我似乎需要将JWT传递给服务器,并使用supabase库对其进行身份验证。

您可以使用任何可以连接到Postgres的服务器端库将信息存储到Supase-Postgres数据库中。您可以通过转到"设置">来查找数据库的连接信息;数据库部分,然后向下滚动到连接字符串并选择语言选项卡以获取信息。

您可以通过将JWT发送到服务器,然后使用supabase库进行身份验证来证明您是用户X。

如果你使用的是supabase js v1库,你会使用setAuth方法:

supabase.auth.setAuth(jwt)

如果你使用的是supabase js v2库,你会创建一个新的连接,并将JWT传递给它:

const serverSupabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, { 
global: { 
headers: { Authorization: `Bearer ${jwt}` }
}
})

最新更新