Easily Add Authentication With Nuxt 3 + Supabase

Поделиться
HTML-код
  • Опубликовано: 28 июн 2024
  • 📕 Vue 3 Crash Course: johnkomarnicki.gumroad.com/l/...
    🤖 SaaS I'm Building (WebDevDaily): www.webdevdaily.io/
    🚀 Join the channel : / @johnkomarnicki
    🤖 Website: johnkomarnicki.com/
    🐦 Twitter: / john_komarnicki
    Timestamps:
    0:00 Introduction
    0:59 Create Nuxt 3 Application
    1:22 Setup Supabase Project
    1:50 Implement Nuxt Supabase Module
    3:00 Sign up a user
    7:15: Sign in a user
    9:33 Detect if a user is logged in
    10:27 Logout a user
    11:37 Protect Authenticated Routes With Middleware
    #nuxtjs #nuxt3 #supabase
  • НаукаНаука

Комментарии • 63

  • @tolgabeyazoglu536
    @tolgabeyazoglu536 10 месяцев назад +4

    It is very gratifying that you are making a video about nuxt js 3 when there is such a shortage of resources.

  • @psybitcoin
    @psybitcoin 11 месяцев назад +8

    Nice video. Would love to see more of this. Nuxt + Supabase - Features, Best Practices, SSR, SEO, Tests, etc
    Keep it up!

    • @JohnKomarnicki
      @JohnKomarnicki  11 месяцев назад +2

      Thanks! I’ve got a course coming out that I’m working on building a saas application using this stack

  • @christopher5731
    @christopher5731 5 месяцев назад

    Man this video is so well done. Easy to understand, straight to the point. I love it. Keep it up!

  • @randel_mcafee86
    @randel_mcafee86 Год назад +2

    Just in time as i have been looking to start a project using nuxt and supabase!

  • @StellaCrewGaming
    @StellaCrewGaming 3 месяца назад

    Thank you so much, was able to figure out my issue thanks to this video!!

  • @BloodBunn
    @BloodBunn Месяц назад

    This was so useful, thanks!
    Please more nuxt and nuxt + supabase content

  • @elementxyz
    @elementxyz Месяц назад +1

    Thank you for this wonderful video! Here and there you have to tweak some things, but this helps me a lot!

    • @JohnKomarnicki
      @JohnKomarnicki  Месяц назад +1

      Thank you! Shortly after this video they updated the auth setup. I need to get around to creating an updated version

  • @sonny5497
    @sonny5497 Месяц назад

    thanks this was very helpful 💯

  • @AyyLebo
    @AyyLebo Год назад

    Great video, thanks !!

  • @adydetra_
    @adydetra_ 10 месяцев назад +6

    bro can you send this source code/repo and put link in description?

  • @xeon7879
    @xeon7879 11 месяцев назад

    Thx for the video! Just a quick question: Would i need to use definePageMeta on every page or is it possible to define it on a layout for example and make it available to all pages? What would be the best solution for this?

  • @osherezra131
    @osherezra131 9 месяцев назад

    TNX

  • @larsnobel4279
    @larsnobel4279 12 дней назад +1

    Not showing how template is build and no github repo?

  • @bombrman1994
    @bombrman1994 7 месяцев назад +2

    i need the repo so bad, i am stuck

  • @antoniogiroz
    @antoniogiroz 11 месяцев назад +1

    Can you create an additional video showing how to create a profile table to store the user info once is registered?

    • @JohnKomarnicki
      @JohnKomarnicki  11 месяцев назад +2

      Yeah, I might do a follow up to a few things in regards to this video and that was one of them

  • @ManasMadrecha
    @ManasMadrecha 11 месяцев назад +1

    Very very helpful video on authentication. Just one doubt: if I want to add permission system (authorisation), i.e., users with only specific permissions can view certain elements of a page, what should be the best approach?
    Create a Users table postgres database in supabase and add different columns for each permission type?
    Can we reuse the Users table inside the supabase auth page, instead of creating new one in database page?

    • @JohnKomarnicki
      @JohnKomarnicki  11 месяцев назад +4

      For different user levels you can use what are called custom claims. This is what I’m doing within my application. These values get stored on the raw_app_meta_data field of the users table in the auth schema. I might do a follow up video on this

    • @RootsterAnon
      @RootsterAnon 11 месяцев назад

      @@JohnKomarnicki please do. also can you show how to login user after he clicked on email link?

  • @martinpenev6750
    @martinpenev6750 8 месяцев назад

    How does Supabase identify the user? Session ID in local storage? JWT?

  • @MrSonicastra
    @MrSonicastra 7 месяцев назад

    Hmm for some reason i can't go to /register it redirect me to /login whole the time?

  • @BloodBunn
    @BloodBunn Месяц назад

    auth.js from middleware (prevent access to profile page if !user.value)
    export default defineNuxtRouteMiddleware(() => {
    const user = useSupabaseUser()

    if (!user.value) {
    return navigateTo('/login')
    }
    })
    auth2.js from middleware (redirect the login page to profile page if logged in)
    export default defineNuxtRouteMiddleware(() => {
    const user = useSupabaseUser()

    if (user.value) {
    return navigateTo('/profile')
    }
    })

  • @eltonlrodriguez
    @eltonlrodriguez 8 месяцев назад +1

    So I reproduced what I got here and I find myself in an interesting dilemma. I am stuck in the login page, and cannot seem to go to register despite my best attempts. The login does not work, despite having manually placing my credentials within supabase in order to test the login, console returns I'm not logged in either. When I check my supabase client to see if the connection string is correct (URL and anon string), it is all correct. Does anyone experience the same issues as myself? Or am I doing something wrong?

    • @JohnKomarnicki
      @JohnKomarnicki  8 месяцев назад +3

      After this video was released supabase updated the auth. If your using nuxt, even if you have your own custom middleware it will still redirect you. You will need to add to the nuxt config a redirect:false property to the supabase config

    • @eltonlrodriguez
      @eltonlrodriguez 8 месяцев назад

      @@JohnKomarnicki That did it! Thank you for reaching out and letting me know. It had been bothering me for days trying to understand what I was doing wrong.

    • @JohnKomarnicki
      @JohnKomarnicki  8 месяцев назад

      Of course, glad to hear that it helped! If you do wanna learn more about that update specifically you can check out the nuxt supabase docs: supabase.nuxtjs.org/get-started#redirect

    • @eltonlrodriguez
      @eltonlrodriguez 8 месяцев назад

      @@JohnKomarnicki I will check it out, thank you!

    • @jdhurrell
      @jdhurrell 8 месяцев назад

      @@JohnKomarnicki Thanks for that. I also experienced that same issue recently and it was driving me mad. I opened a project that had been working fine a few weeks ago that suddenly would not allow anonymous access to existing pages. Thanks for the videos.

  • @YoheiKung
    @YoheiKung 11 месяцев назад

    why when i add "const client = useSupabaseAuthClient();" i keep get 500 document is not defined

    • @adydetra_
      @adydetra_ 10 месяцев назад

      same

    • @RonGeorgePile
      @RonGeorgePile 10 месяцев назад

      they dropped useSupabaseAuthClient(). Alternatively, use useSupabaseClient()

    • @Cwoissant
      @Cwoissant 10 месяцев назад +1

      I guess it changed recently, replace useSupabaseAuthClient(); by useSupabaseClient(); and it should work

    • @businessoftechnology
      @businessoftechnology 8 месяцев назад +1

      @@Cwoissant now it appears to be `createClient()`, lol.

  • @user-mf2dj1tc2r
    @user-mf2dj1tc2r 4 месяца назад

    when i created a register page and add supabase it automatically redirect to the login page. any solution?

    • @JohnKomarnicki
      @JohnKomarnicki  4 месяца назад +1

      There’s a new option you need to define in the supabase config that went love not to long after this video was released. Check out the nuxt supabase docs, it’s highlighted there

  • @JenniferBland
    @JenniferBland 9 месяцев назад +1

    Is there a GitHub repo for this demo?

    • @JohnKomarnicki
      @JohnKomarnicki  9 месяцев назад +1

      There is not. However, this page on the supabase docs should be helpful.
      supabase.com/docs/guides/getting-started/tutorials/with-nuxt-3

  • @JuanBayonaBeriso
    @JuanBayonaBeriso Год назад +3

    Does this work in server routes?

    • @psybitcoin
      @psybitcoin 11 месяцев назад

      Interesting question

  • @bombrman1994
    @bombrman1994 7 месяцев назад

    the default middleware is holding me on login and i cant figure the documentations how to let the user allowed in register page

    • @intervelix7822
      @intervelix7822 7 месяцев назад +3

      did you try in your nuxt config:
      supabase: {
      redirect: false,
      },

    • @JohnKomarnicki
      @JohnKomarnicki  7 месяцев назад +1

      Yea. Since posting this video they changed this. The above solution should fix your issue!

  • @masu4644
    @masu4644 3 месяца назад +1

    no codebase ? -_-

  • @husseinalhilfi8186
    @husseinalhilfi8186 13 дней назад

    It is not secure.

  • @Artison14
    @Artison14 11 месяцев назад +1

    Thanks a lot for the help man, you saved my ass

  • @pr0viz796
    @pr0viz796 3 месяца назад +1

    when i click to register the email and password i'm getting the error: Email rate limit exceeded 429 (Too Many Requests)
    const { data, error } = await client.auth.signUp({
    email: email.value,
    password: password.value,
    });
    what i'm doing wrong?

    • @atharvasurwase6772
      @atharvasurwase6772 2 месяца назад +1

      edit suffering the same error

    • @BloodBunn
      @BloodBunn Месяц назад

      same problem, did you find a solution?

    • @pr0viz796
      @pr0viz796 Месяц назад +1

      @@BloodBunn sadly i did not

    • @BloodBunn
      @BloodBunn Месяц назад

      @@pr0viz796 what backend do you use then? Or what auth service?

    • @pr0viz796
      @pr0viz796 Месяц назад +1

      @@BloodBunn i didn't finish the project at all as it was a side project