【问题标题】:How to implement cookie authentication with Sveltekit & Supabase?如何使用 Sveltekit & Supabase 实现 cookie 身份验证?
【发布时间】:2021-11-04 22:32:19
【问题描述】:

我对 SvelteKit 和 Supabase 都很陌生,我自己做了一些实验,但我想知道使用这两种技术实现用户身份验证的最佳方法是什么。

我目前在我的 __layout.svelte 文件中有以下内容,因此我的 Web 应用程序上的每个页面都可以访问会话,但我不确定如何使用 cookie 实现持久用户身份验证。

如果有人可以指导我和未来的用户,那就太棒了!

<script>
  import supabase from "$lib/api";
  import { page, session } from '$app/stores';
  import { browser } from '$app/env';

    if(browser){
      $session = supabase.auth.session();
      supabase.auth.onAuthStateChange((event, sesh) => {
        $session = sesh;
      });
    }
</script>

【问题讨论】:

    标签: javascript authentication cookies sveltekit supabase


    【解决方案1】:

    目前还不清楚如何做到这一点。我试图让它变得简单,并将其放入用户可读的存储中:

    export const user = readable<any>(null, (set) => {
    
        set(supabase.auth.user());
        const unsubscribe = supabase.auth.onAuthStateChange((_, session) => {
            session ? set(session.user) : set(null);
        });
        return () => {
            unsubscribe.data.unsubscribe();
        }
    });
    

    现在您可以在任何地方使用$user 来获取会话,或者查看是否有会话。

    J

    【讨论】:

      猜你喜欢
      • 2022-10-06
      • 2017-05-06
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      • 2017-11-29
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多