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.
@@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?
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?
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!!
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.
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!
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.
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 ?
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.
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
@@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.
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.
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.
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!
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.
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.
@@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
@@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.
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)
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.
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?
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?
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?
Would love to see a tutorial for desktop with deep linking!
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.
The same video but when we deploy supabase on the local machine
@@TheDevLogger Great suggestion! Deep link deep dive is something I would like to work on. Added it to my list!
@@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?
Very helpful video, thank you!
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?
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!!
Just a note, you're pointing to Google Singin with Flutter video, is that the video you're mentioning?
Sorry, are you talking about the video or somewhere in the docs?
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?
Amazing 🔥🔥
Can we please get a compose multiplatform google + apple sign in tutorial?
Beautiful !!!
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.
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!
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.
Next time please also show us how to logout correctly
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 ?
This was quite clear for the most part, but there were 3 different client IDs, which one gets pasted into Supabase?
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.
@@Supabase why do we not paste it to Client ID (for OAuth) but to the authorized clientIds?
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
I apologize first, I didn't see that you also wrote 'Apple sign-in video will also come out soonish.' Sorry.
thankyou so much, I appreciate this a lot 🙏
Thanks for the tutorial!
dont work on web but in android is fine... who can display gmail not this numbers?
Are you calling the .signInWithOAuth() method on web? What numbers are you seeing instead of gmail accounts?
@@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.
helped to fix web , i didnt know i have to set the port
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.
i see charge for MAU in pricing, why ?
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.
@@dshukertjrThanks
Is it possible without google cloud , Google Sign?
This does not work. I created a new Firebase project, enabled Google Sign In, but there cas no Google Cloud project created.
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!
does this work with flutter desktop?
The google_sign_in plugin `signIn` method is deprecated on the web, and will be removed in Q2 2024.
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.
thank you!!
i am getting error cliend id not found
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.
@@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
@@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.
@@dshukertjr In the flutter code also it is necessary to put the web client ID?
@@devagarwal3250 Yes, you do.
Get the docs here: - Supabase Google sign-in docs → supabase.com/docs/guides/auth/social-login/auth-google?platform=flutter&Mg6fVmX0U
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)
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.
@giaretz92 Im getting the same error. Did you solved your problem?
@@Supabase i get the same thing
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?
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?