Google OAuth 2.0 Login for React in 5 minutes

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ต.ค. 2024
  • Enjoying my videos? Sign up for more content here: www.coopercode...
    📩 Join CodeLetter by Cooper Codes, the 3 minute tech newsletter: thecodeletter.com
    Join the Cooper Codes Community: / discord (Weekly calls, free resources, tutoring, and more!)
    UPDATE: This implementation is no longer supported by Google, for the new way to use Google Login with React check out my new video here • Google Identity Servic...
    In this video I show an easy way to get a Google OAuth 2.0 authentication system set up in your React application. We set up our google client in the cloud console, create login/logout buttons, and intialize our OAuth 2.0 client!
    Want to support me? Purchase on Amazon with my link here: amzn.to/3Q4h3Pb
    Enjoying my content? Feel free to support me on Patreon / coopercodes
    Business inquiry? Email thecoopercodes@gmail.com

ความคิดเห็น • 181

  • @AhmedRaza-ll5yv
    @AhmedRaza-ll5yv 6 หลายเดือนก่อน +18

    Kind of tutorial I want for any tech related problem striaght to the point like an arrow and no time wasting BS! Thanks a lot man

  • @yairlevi8469
    @yairlevi8469 10 หลายเดือนก่อน +13

    FINALLY a tutorial for more advanced people who just dont want to scatter around the web...

  • @picassoofai4061
    @picassoofai4061 ปีที่แล้ว +13

    Most straight forward video, I lost too much time searching for that.

  • @gorkemgok9313
    @gorkemgok9313 10 หลายเดือนก่อน +11

    The kind of tutorial we need and we want.

  • @stephanieeaton449
    @stephanieeaton449 7 หลายเดือนก่อน

    This was so fast and easy! I love concise tutorials such as this. I guess what I would like to have added though is resources on how to use the logged in user (some of us are real nuggets), and also the next steps to take this to a production environment. But this a great start!

  • @Lucas-jb8ce
    @Lucas-jb8ce 2 ปีที่แล้ว +15

    Can you please upload an updated version? I'm very confused as to how the implementation should be done.

  • @manueljarrin4582
    @manueljarrin4582 ปีที่แล้ว +7

    I just wanted to thank you! was trying for days to exchange a firebase id token with an auth2 one and wasnt able to do it, so I am going purely on auth. Any video on exchange tokens would be great, but anyways keep going with this type of content to the point tutorials you earned a sub!

    • @CooperCodes
      @CooperCodes  ปีที่แล้ว

      Hey M Jay, thank you so much for your support! It means a bunch and I'm glad the video was helpful :)

  • @piyushaggarwal5207
    @piyushaggarwal5207 2 ปีที่แล้ว +20

    Could you update the video for the new Sign In with Google ?

    • @essayawesome
      @essayawesome 3 หลายเดือนก่อน

      Did you get the job after all you're in computer science fields more then two years, can you help me, are you working

    • @piyushaggarwal5207
      @piyushaggarwal5207 3 หลายเดือนก่อน

      @@essayawesome Yes. I have been employed. But what do you need help with? It's all out there. If you have a question search for it. If you don't find the answer, ask in Reddit communities.

  • @yoyo-yx1qx
    @yoyo-yx1qx 2 ปีที่แล้ว +6

    if you get an error saying "you need both client id and scope to initialise oauth" simply make sure you got your client id and also add scope like this, scope:"profile",i had this error now and this fixed

    • @vincentvermeire966
      @vincentvermeire966 2 ปีที่แล้ว

      Thanks!

    • @karimm5956
      @karimm5956 ปีที่แล้ว

      where i can change the scope please ? i am beginner in react. thanks on the dashbord, i have already give the scope but nothing and i have the same error.

  • @Winedineandrhyme
    @Winedineandrhyme 2 ปีที่แล้ว +2

    Umm, what if i want multiple users to login? cus from what i'm seeing here, only test users can login. I need login access to be made public.

  • @banjomichael4229
    @banjomichael4229 5 หลายเดือนก่อน

    This was fast and straight to solving my problem. Definitely subscribing to this. Thanks a lot Mr Cooper Codes

  • @hustler2246
    @hustler2246 ปีที่แล้ว +29

    react-google-login has been deprecated.

    • @emmang2010
      @emmang2010 4 หลายเดือนก่อน

      Yes and I believe now it's react-oauth/google

  • @akhil_sarikonda
    @akhil_sarikonda 8 หลายเดือนก่อน +1

    How to handle Redirect URI for vercel preview links? Upon successful authentication, Google redirects the user to the URL which we set in the "Redirection URI" field in the Google Console. As the URLs change for every vercel preview deployment, setting a static URL in the "Redirection URI" results in a mismatch. So how to handle this?

  • @AindriuMacGiollaEoin
    @AindriuMacGiollaEoin 2 ปีที่แล้ว +1

    Thanks so much, I was following a React tutorial which broke and this fixed the OAuth login.

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      Glad to see it fixed your issues, thanks for watching!

  • @atleast_me
    @atleast_me ปีที่แล้ว +1

    Fast and no unwanted content..

  • @levankantara
    @levankantara 2 ปีที่แล้ว +2

    I get 403 error. The given origin is not allowed for the given client ID. on my devices ( PC and android Phone) it works fine, there are no errors. but it does not work for anyone else. What could be the issue? I have exited Testing mode and moved to Production.

  • @joshb6315
    @joshb6315 8 หลายเดือนก่อน +1

    Clean and concise! I subscribed instantly. Thank you!

  • @abc_cba
    @abc_cba 2 ปีที่แล้ว +1

    Hi, I get the error "'React' must be in scope when using JSX react/react-in-jsx-scope" in "./src/components/logout.js" on line 12 & 13.
    also,
    ./src/index.js
    Module not found: Can't resolve 'react-dom/client' in 'C:\Users\Samue\OneDrive\Desktop\auth\authentication\src'
    Can you please help with that ?

  • @frostfire7434
    @frostfire7434 ปีที่แล้ว +2

    Thank you, 5 mins explained everything

  • @ashiqdey
    @ashiqdey 2 ปีที่แล้ว +2

    how to do this using hooks? As I dont want to display the logout button as shown in video

  • @prakarshshrivastava6422
    @prakarshshrivastava6422 ปีที่แล้ว +3

    the react-google-login package is depreciated now,

  • @ayush_bhardvaj
    @ayush_bhardvaj 5 หลายเดือนก่อน +1

    What to do when we need to save user details in database?

  • @Ontropy
    @Ontropy 4 หลายเดือนก่อน +4

    the react-google-login library has been deprecated, any alternatives for that.

    • @annarj123
      @annarj123 หลายเดือนก่อน

      Did you find an alternative package? react-google-login won't work with React 18 and up :(

    • @SonaCricketAcademy
      @SonaCricketAcademy หลายเดือนก่อน +1

      npm i @react-oauth/google

  • @Gokuuubro
    @Gokuuubro หลายเดือนก่อน

    Dont I need to have refresh tokens ? If I have some publics scopes defined, can I access them anytime with the same access token ?

  • @ben5238
    @ben5238 2 ปีที่แล้ว +4

    Awesome!! Do you have any idea how to make the login state persist so a user doesn't have to login every refresh?

    • @TheVedantshah
      @TheVedantshah 2 ปีที่แล้ว +4

      maybe store token on successful login on localstorage

    • @bigbadcatbigbcy2933
      @bigbadcatbigbcy2933 หลายเดือนก่อน

      use sessions

  • @omarcortes9787
    @omarcortes9787 2 ปีที่แล้ว +2

    thank you! I had like 3 hours looking for this

  • @jawyor-k3t
    @jawyor-k3t ปีที่แล้ว +2

    react-google-login library is deprecated. create-react-app is also very old boilerplate generator.

    • @ardhrubo8455
      @ardhrubo8455 10 หลายเดือนก่อน +1

      so which thing you suggested?

  • @ssteven_johnson
    @ssteven_johnson 4 หลายเดือนก่อน +2

    WTF!!!!!
    I've wasted hours/weeks/months in the docs section of Google APIs and this video has been here for
    TWO YEARS🤯🤯🤯🤯🤯... How tf am I just seeing this now. . .
    I subscribed asap!!
    THANK YOU

    • @hamzarizwan1715
      @hamzarizwan1715 4 หลายเดือนก่อน

      Womp Womp

    • @mutahir2002
      @mutahir2002 หลายเดือนก่อน

      @@hamzarizwan1715 what

  • @andrews13
    @andrews13 7 หลายเดือนก่อน +2

    You earned my sub!

  • @fabre6733
    @fabre6733 ปีที่แล้ว +2

    I'm quite confuse, how do users register if we need to manually add the allowed users only in the oauth consent screen

  • @ruairidhgrass3479
    @ruairidhgrass3479 ปีที่แล้ว +2

    I'm getting an error saying that this library will soon be deprecated and that you must use newer libraries instead. Do you know what the new google login library is and how to implement it?

    • @Escrotomortal2
      @Escrotomortal2 ปีที่แล้ว +2

      x2

    • @BGS42069
      @BGS42069 ปีที่แล้ว

      did you ever figure this out? in the same spot

    • @CooperCodes
      @CooperCodes  ปีที่แล้ว

      th-cam.com/video/roxC8SMs7HU/w-d-xo.html Check out this video here. It is the new library, this one has been up to help people migrating / switching over. Sorry if this wasn't super obvious.

  • @aldygunawan8089
    @aldygunawan8089 10 หลายเดือนก่อน +1

    do you have an example if the login is failed?

  • @HungNguyen-le8pg
    @HungNguyen-le8pg 10 หลายเดือนก่อน +2

    react-google-login package is not available from Sep 2023. How to subtitude it

  • @haldharpatel3915
    @haldharpatel3915 หลายเดือนก่อน

    I dont want to rewatch but where did you used client secret?

  • @adityalenka1499
    @adityalenka1499 2 ปีที่แล้ว +1

    Thank you,Your video help me to resolve my Google Oauth issue

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว +1

      Glad to see it helped :)

  • @AlexHitchon
    @AlexHitchon ปีที่แล้ว

    Hey thanks for the quick explanation. Was wondering at the end once i get the accessToken can i use this in my script for my account and not have to keep logging in. Will it expire ever?

    • @faisalsaddique3323
      @faisalsaddique3323 11 หลายเดือนก่อน

      yes most of the time that token expires, but you are being given a refresh token, and you could use that to request a new token

  • @viraldimention
    @viraldimention ปีที่แล้ว

    Nice, Does it work inside a webview?

  • @notorious43
    @notorious43 9 หลายเดือนก่อน

    Hi, your videos are very helpful, can you please make one vedio for login with google and at the time of login google calendar access will be asked, if yes then create access_token and send it to backend

  • @mohdanas8027
    @mohdanas8027 2 ปีที่แล้ว +2

    Thanks its working fine in my projects

  • @hiphop861
    @hiphop861 ปีที่แล้ว

    bro nice video,
    But How can we do login from all the emails. Here we are checking with testing emails

  • @pricesmith1793
    @pricesmith1793 9 หลายเดือนก่อน

    I don't understand.. Client secret wasn't used... isn't that pretty important for oauth? Also, what's the difference between google-auth-library, gapi, and googleapis?

  • @shahzaib715
    @shahzaib715 11 หลายเดือนก่อน

    Hi bro I wanna ask I have made Todo list User can create account then after login to use now I want to add login by google how how I will grab or which password I will store to my Database when using google auth means I will get name email like that but what about password which user will put to login again?????? please guide me I am stuck here....

  • @kacperkepinski4990
    @kacperkepinski4990 9 หลายเดือนก่อน

    Support for defaultProps will be removed from function components in a future major release. Use JavaScript default parameters instead.

  • @edarcode8124
    @edarcode8124 2 ปีที่แล้ว +1

    Greetings from Colombia! in the domains section am I not supposed to put localhost...? And if my App is in vercel, what should I put?

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      For React, the default domain for running locally is localhost:3000 . So you should put whatever Vercel uses when you run locally, for example if it’s localhost:4000 you should use that.
      To the domains comment, I believe in the video I cover all the spots where you need to put the domain. If there is another section it most likely won’t break it but the video should cover what you need. If you could point to the specific domains section you’re talking about I could help more. Thank you for the comment!

    • @edarcode8124
      @edarcode8124 2 ปีที่แล้ว

      @@CooperCodes If I am using the google button at localhost:3000/login, should I put /login in authorized sources?

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      I believe that if you use localhost:3000 it should cover all routes (all routes meaning anything like /login or /register etc.)

    • @bricejoosten5173
      @bricejoosten5173 2 ปีที่แล้ว

      @@edarcode8124 I did the situation you're asking for, React app with React Router, my google button is in /profile and no, in authorized sources there is only localhost 3000, no "/profile" and it works fine

  • @slogone2336
    @slogone2336 4 หลายเดือนก่อน +1

    God, you are a god fr. Just perfect

  • @Valenscheuermann
    @Valenscheuermann 9 หลายเดือนก่อน

    Hey, I have a question. I got a Deployed vite react app, im trying to add a login from google option, the problem is, i need to give acces to any account from google to log in, i mean not just add test accounts in the config of google cloud, is that possible?

    • @Jestudos-g3b
      @Jestudos-g3b 8 หลายเดือนก่อน

      thats bc your in the moment your app goes to production, google enable access from any google account, the test user is only for while dev process

  • @kamalsutte2742
    @kamalsutte2742 11 หลายเดือนก่อน

    If we implement jwt token from backend , then by sign in with google how can we get the token

  • @Lotpite
    @Lotpite ปีที่แล้ว

    why do we need google login only for using with test email ?

  • @abrutii
    @abrutii ปีที่แล้ว

    Why is anyone doing it either on the front-end side or the back-end side ? no one is showing the full-stack example

  • @hongbo-wei
    @hongbo-wei 2 หลายเดือนก่อน

    Great tutorial, thx!

  • @thalistrisch9635
    @thalistrisch9635 2 ปีที่แล้ว +1

    Thank you! your video helped me so much😆

  • @jackmiller2518
    @jackmiller2518 ปีที่แล้ว

    Will this work in React Native as well?

  • @inxastralmarsbasement
    @inxastralmarsbasement ปีที่แล้ว

    how would I style the button in CSS?

  • @ghauri001
    @ghauri001 ปีที่แล้ว +1

    Thanks, it was really helpful

  • @mustafakhodor5119
    @mustafakhodor5119 2 ปีที่แล้ว

    Hello pls there's a problem that the same account is taken automatically each time i press the button

  • @jeflo_punks
    @jeflo_punks ปีที่แล้ว +1

    really helpful men many thanks!

  • @leobuezo3600
    @leobuezo3600 ปีที่แล้ว +4

    Wow, super easy! thank you so much for sharing!

    • @CooperCodes
      @CooperCodes  ปีที่แล้ว

      You're welcome, glad it helped :)

  • @vitaliidolotov4226
    @vitaliidolotov4226 ปีที่แล้ว

    Thank you for the video! Could you please advise how to securely save google cliend_Id? What is the best practice for this? Thanks

  • @kushalappaca5324
    @kushalappaca5324 5 หลายเดือนก่อน

    How do i get a bearer token if I want to hit a spring boot backend using OAuth2.0?

    • @manfromthewest
      @manfromthewest 2 หลายเดือนก่อน

      Did you find a solution? I'm also looking for a way to get fresh bearer token.

  • @stricklybisnez3296
    @stricklybisnez3296 2 ปีที่แล้ว

    greetings from Bogotá
    great video !
    Im not sure why but my logout isn't working properly even though our codes are identical

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว +1

      This could have something to do with your browser cache, are you using the latest version of Google Chrome?

    • @stricklybisnez3296
      @stricklybisnez3296 2 ปีที่แล้ว

      @@CooperCodes you were right!! thanks man !

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      @@stricklybisnez3296 Hah that is awesome that was actually the fix. The libraries I use help make things easier, and they are very well supported. But you still run into strange things like that, glad to see its fixed.

  • @sathwikmatcha5511
    @sathwikmatcha5511 8 หลายเดือนก่อน

    This no longer works with the react-google-login library being deprecated.

  • @SlothHuntOnYou
    @SlothHuntOnYou 10 หลายเดือนก่อน

    why 60fps for videos like that? it's tutorial - 30fps is enough - because all watch it on speed 2x

  • @johnfargo9774
    @johnfargo9774 2 ปีที่แล้ว +3

    not work useEffect : Uncaught TypeError: Cannot read properties of undefined (reading 'apiKey')

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      Sorry I've been busy, I will look into this

  • @tanhnoinoilanh
    @tanhnoinoilanh 3 หลายเดือนก่อน

    Is there any one know why this button can't be displayed and the hook useGoogleLogin is not responded when using the webview of react native. How to solved that? Thanks

    • @kapilbadokar
      @kapilbadokar 2 หลายเดือนก่อน

      Did u figure out a solution for this?
      Even i want to implement it on react-native-web

  • @ArchanaRawat-r3f
    @ArchanaRawat-r3f 9 หลายเดือนก่อน

    Do I have to paid for google cloud platform to this. Can someone please help.

  • @bilalillahi6347
    @bilalillahi6347 2 หลายเดือนก่อน

    dont forget to add any api route created in backend. must include it

    • @doofenshmurts2439
      @doofenshmurts2439 หลายเดือนก่อน

      how do i know or check if any were created? please help me sorry im new

    • @bilalillahi6347
      @bilalillahi6347 หลายเดือนก่อน

      @@doofenshmurts2439 For example if You created, /oauth in backend for the purpose of google auth (check routes in backend). do add *localhost:/oauth* in redirect uri, at timestamp 1:45. Add all api routes with that purpose in google console, so that you dont face much errors. replace localhost:with actual url when deployed

  • @acandrescardenas
    @acandrescardenas 3 หลายเดือนก่อน

    How could I make it work in an Android app?

  • @lukaschiaradia568
    @lukaschiaradia568 ปีที่แล้ว

    Hey can u do the same for Spotify pls ?

  • @houaidakrifa6091
    @houaidakrifa6091 2 ปีที่แล้ว +3

    It's very helpful ❤👏

  • @ΔημητρηςΝουβακης
    @ΔημητρηςΝουβακης 9 หลายเดือนก่อน +1

    Amazing! TY!

  • @dilshadzm786
    @dilshadzm786 8 หลายเดือนก่อน

    how can we do cross-application authentication with google authentication

  • @JesterPiero
    @JesterPiero 2 ปีที่แล้ว +1

    THANKS !!!!!!!!!!!! IT WORKS !!!!

  • @samareshdas767
    @samareshdas767 ปีที่แล้ว

    How to get the google access token?

  • @raviteja8798
    @raviteja8798 11 หลายเดือนก่อน

    how to make it work for all gmail accounts ?

  • @joshuacushing2858
    @joshuacushing2858 2 ปีที่แล้ว +1

    Thanks so much for helping me get this going!

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      Happy to help! Thanks for watching :)

  • @rogelioperezmena3460
    @rogelioperezmena3460 2 ปีที่แล้ว +1

    Thanks bro!

  • @ananyatiadi6559
    @ananyatiadi6559 9 หลายเดือนก่อน

    I am getting error unable to resolve dependency tree

  • @peasantfolkhero
    @peasantfolkhero ปีที่แล้ว +1

    many thanks

  • @sandeepmaurya5262
    @sandeepmaurya5262 ปีที่แล้ว

    Showing no longer supported
    error on build

  • @mretineh1172
    @mretineh1172 2 ปีที่แล้ว +1

    Thanks alot for this

  • @drofatfoed
    @drofatfoed ปีที่แล้ว

    Is Google Oauth 2.0 totally free for use?

  • @theofanisbirmpilis7364
    @theofanisbirmpilis7364 ปีที่แล้ว +2

    really nice tutorial

  • @Vishayam
    @Vishayam 2 ปีที่แล้ว +1

    tahnk u so much man

  • @m.likhitha2300
    @m.likhitha2300 ปีที่แล้ว

    i am getting invalid hook call warnings..

  • @kamichikora6035
    @kamichikora6035 2 ปีที่แล้ว

    Dude this thing is not working on mobile... I'm going crazy

  • @Vignaya_143
    @Vignaya_143 9 หลายเดือนก่อน

    Uncaught TypeError: o3 is not a function

  • @mudit6339
    @mudit6339 8 หลายเดือนก่อน +1

    its sad that this google login dependency is deprecated now

    • @SonaCricketAcademy
      @SonaCricketAcademy หลายเดือนก่อน

      npm i @react-oauth/google
      Try this !

  • @aleksandarurovic7300
    @aleksandarurovic7300 ปีที่แล้ว

    love you brother

  • @ramoverboard6093
    @ramoverboard6093 7 หลายเดือนก่อน

    the access token does not work

  • @kirtanmodi8598
    @kirtanmodi8598 2 ปีที่แล้ว

    why do we need to init gapi script??

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว +2

      This is a great question! The reason why we need to initialize the gapi script is because in the background our imported login / logout buttons are using gapi to make calls to the google service we created. gapi.init "caches" our google credentials so if we use gapi anywhere else it will reference the properties we passed in. This is the simple explanation, but hopefully helpful!

  • @abduvalimurodullayev-or1el
    @abduvalimurodullayev-or1el 7 หลายเดือนก่อน +1

    thanks

  • @good6894
    @good6894 ปีที่แล้ว +1

    This isn't a complete example. Lots of stuff is left out.

  • @fabian2314
    @fabian2314 2 หลายเดือนก่อน

    message of love

  • @kunjilee9810
    @kunjilee9810 2 ปีที่แล้ว

    Hi, can you update with the new version please :)

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว +1

      Hey, the latest video on my channel is the new version. Hope this helps!

    • @kunjilee9810
      @kunjilee9810 2 ปีที่แล้ว

      @@CooperCodes i just realized that, thank you very much, i've been looking for that for like weeks :)

  • @g43s
    @g43s 2 ปีที่แล้ว

    you can no longer create a project without an organization or a folder

  • @pranjaldoorwar9743
    @pranjaldoorwar9743 2 ปีที่แล้ว +1

    Amazing thanks

  • @thatogabanakgosi4077
    @thatogabanakgosi4077 2 ปีที่แล้ว

    The react-google-login package has been deprecated so this video's solution is very much outdated.

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว +1

      Gonna edit the top of the description, the video for the new login stuff is here th-cam.com/video/roxC8SMs7HU/w-d-xo.html

  • @kunjolee9243
    @kunjolee9243 2 ปีที่แล้ว

    coud yo do this, but with an updated version please :)

    • @CooperCodes
      @CooperCodes  2 ปีที่แล้ว

      Updated version just came out, it’s the most recent video on my channel

    • @MuhZakiChoiruddin
      @MuhZakiChoiruddin 2 ปีที่แล้ว

      @@CooperCodes yes you're right! thank you man

  • @zafarhussain5063
    @zafarhussain5063 2 ปีที่แล้ว

    you deserve like

  • @sonugodda1771
    @sonugodda1771 2 ปีที่แล้ว

    Code mill sakta hai?