How to implement Google sign-in on Flutter with Supabase on iOS, Android & Web

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

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

  • @dshukertjr
    @dshukertjr 9 месяцев назад +15

    Apple sign-in video will also come out soonish. In the mean while, what other Flutter content would you like to see on this channel?

    • @TheDevLogger
      @TheDevLogger 9 месяцев назад +2

      Would love to see a tutorial for desktop with deep linking!

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

      The guide and document are awesome. Thank you.
      1. How to handle refresh and access tokens in real app scenarios (Retrieving and revoking a session in real-world scenarios).
      2. Implementing pagination with infinite scroll using Supabase PostgreSQL.

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

      The same video but when we deploy supabase on the local machine

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

      @@TheDevLogger Great suggestion! Deep link deep dive is something I would like to work on. Added it to my list!

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

      @@xeooox Thank you so much for the compliment. What exactly would you like to see about handling refresh and access tokens? Using Supabase, you shouldn't really have to worry about handling refresh or access tokens (unless you want to revoke it like you mention). Retrieving the tokens should happen automatically by the SDK, and you should never have to worry about or handle it yourself. Are you finding yourself to be in a position where you have to handle it by yourself?

  • @VerenaZaiser-i2u
    @VerenaZaiser-i2u 8 месяцев назад +3

    Very helpful video, thank you!

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

    At 3:21, you pasted the web client ID into the "Authorized Client IDs (for Android, One Tap, and Chrome extensions)" field of the Supabase Google Sign In dashboard and left the "Client ID (for OAuth)" field empty.
    At 11:03, the "Authorized Client IDs (for Android, One Tap, and Chrome extensions)" is empty and the "Client ID (for OAuth)" field has some client ID in it.
    What happened in between those two timestamps that caused the switch-a-roo?

  • @nikitachernenko3774
    @nikitachernenko3774 6 месяцев назад +2

    dude, you saved my day!! It was pretty non-obvious for me before where I need to use android service id vs web service id, and why it is web service id for android if I use native sign in...
    mobile dev is slightly confusing, but thanks a lot!!

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

    Just a note, you're pointing to Google Singin with Flutter video, is that the video you're mentioning?

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

      Sorry, are you talking about the video or somewhere in the docs?

  • @AlanGandy-j2k
    @AlanGandy-j2k 13 дней назад

    I have this working for a web app. Is there a way to replace the supabse project URL with my actual web app's URL on the Google sign in page?

  • @eliuddyn
    @eliuddyn 9 месяцев назад +2

    Amazing 🔥🔥

  • @Shreyas-fs3dp
    @Shreyas-fs3dp 8 месяцев назад

    Can we please get a compose multiplatform google + apple sign in tutorial?

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

    Beautiful !!!

  • @excellencemichel4875
    @excellencemichel4875 9 месяцев назад +2

    Supabase have to add the crucial feature for all real word app like transaction native feature or batch on db. Otherwise we can't chose supabase to to make a good apps.

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

      Actually, transaction is supported through Postgres functions. You can create a Postgres function and call it using the .rpc method from the client. Batched writes have been always possible using the standard insert or upsert method on the client libraries!

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

      For a big project that need many transaction operations which take two or three table with many field is not easy. Maybe you have your reason but that lack of this features is a big issue.

  • @tananga_studio
    @tananga_studio 2 месяца назад

    Next time please also show us how to logout correctly

  • @Kamal_sabki
    @Kamal_sabki 6 месяцев назад

    thanks! i have an issue redirecting the users to the right page, i want to to redirect the user to continue the onborinf and completing the user information when they clic on sigup and if they clic on login with google they will be redirect to home. do you have anyidea on how to achieve this ?

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

    This was quite clear for the most part, but there were 3 different client IDs, which one gets pasted into Supabase?

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

      Three different client IDs all have different purposes, and they are all required if you want to support all web, iOS and Android. As shown in the video, the one you paste into the Supabase dashboard is the web Client ID.

    • @muratcan__22
      @muratcan__22 6 месяцев назад

      ​@@Supabase why do we not paste it to Client ID (for OAuth) but to the authorized clientIds?

  • @もちもち-b4r
    @もちもち-b4r 5 месяцев назад

    It seems I haven't found a tutorial for Sign in with Apple using Supabase and Flutter.
    By the way, how can I link multiple OAuth logins to the same account? I mean binding both Apple and Google to the same account.
    Of course, it should also work for Web and Android

    • @もちもち-b4r
      @もちもち-b4r 5 месяцев назад

      I apologize first, I didn't see that you also wrote 'Apple sign-in video will also come out soonish.' Sorry.

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

    thankyou so much, I appreciate this a lot 🙏

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

    Thanks for the tutorial!

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

    dont work on web but in android is fine... who can display gmail not this numbers?

    • @Supabase
      @Supabase  4 месяца назад

      Are you calling the .signInWithOAuth() method on web? What numbers are you seeing instead of gmail accounts?

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

      @@Supabase I did everything as in the video, after clicking the button the method works, but Google gave the following error: "401 invalid client", "flowName=GeneralOAuthFlow". I see this error only on the web when I open the application through a browser; in the Android emulator everything works fine. I will be glad for any hint! Thank you! this numbers is after Auth displayed in page, i don't know how display user Gmail.

  • @NoPr0gress
    @NoPr0gress 4 месяца назад

    helped to fix web , i didnt know i have to set the port

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

      Flutter web changes the port every single time you run it, so it's either specifying the port like in the video, or adjusting your code every single time you run it locally.

  • @gkumartube
    @gkumartube 9 месяцев назад +2

    i see charge for MAU in pricing, why ?

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

      We have a wide range of Auth features that we offer with it like MFA, SSO, OAuth with 19 different providers, and we need to sustain it. It comes with a pretty generous free tier though.

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

      @@dshukertjrThanks

  • @littlehacker9605
    @littlehacker9605 2 месяца назад

    Is it possible without google cloud , Google Sign?

  • @wgolyoko
    @wgolyoko 6 месяцев назад

    This does not work. I created a new Firebase project, enabled Google Sign In, but there cas no Google Cloud project created.

    • @Supabase
      @Supabase  6 месяцев назад

      Creating a Firebase project always creates a GCP project in the background, so maybe you are looking into the wrong GCP org or something. Navigating through GCP console might not be easy if you are not used to it, but look around and you should find the corresponding GCP project!

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

    does this work with flutter desktop?

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

    The google_sign_in plugin `signIn` method is deprecated on the web, and will be removed in Q2 2024.

    • @Supabase
      @Supabase  6 месяцев назад

      Google sign-in on the web with Flutter does not use the google_sign_in plugin, but rather uses supabase.auth.signInWithOAuth() method, so it will not be affected by the deprecation.

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

    thank you!!

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

    i am getting error cliend id not found

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

      If you could precisely share the exact error message and the platform you are running it on, I might be able to assist you better, but it most likely is due to not configuring one of the configurations correctly. There are iOS, Android, and Web client ID that you need to handle in order to implement Google sign-in, which is quite confusing, so take you time, watch back the video, and make sure you have added all the correct configuration in the correct place.

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

      ​@@dshukertjr I am only using an Android client, and I have done the exact same thing and copied the exact same code from the video.
      the one thing I excluded was web client and ios client

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

      @@devagarwal3250 Okay, well creating a web client ID is a requirement for supporting Google sign-in on Android. At 03:19, you can see me adding the Web Client ID into the dashboard.

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

      @@dshukertjr In the flutter code also it is necessary to put the web client ID?

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

      @@devagarwal3250 Yes, you do.

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

    Get the docs here: - Supabase Google sign-in docs → supabase.com/docs/guides/auth/social-login/auth-google?platform=flutter&Mg6fVmX0U

  • @giaretz92
    @giaretz92 8 месяцев назад +2

    The login on iOS works perfectly but the one on Android doesn't work. It keeps giving me the same error [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

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

      That error most likely means that you are providing the wrong SHA1 certificate fingerprint to GCP. Double check that you are providing the correct one, and you should be good to go.

    • @tananga_studio
      @tananga_studio 2 месяца назад

      @giaretz92 Im getting the same error. Did you solved your problem?

    • @عبدالرحمنباوزير-ت3ب
      @عبدالرحمنباوزير-ت3ب 2 месяца назад

      @@Supabase i get the same thing

    • @datastory42
      @datastory42 2 месяца назад

      Previously my login on Android works perfectly, however, when I was forced to change my application name, everything failed to work and had the above error. Did anybody have the same issue?

    • @Dan-dd4ec
      @Dan-dd4ec Месяц назад

      Having the same issue, SHA1 fingerprint doesn’t seem to be the problem. What was your work around, I’ve tried creating new applications and projects a few times and get the same issue?