The BEST OAuth Golang Tutorial for Authentication | Sign In With Google

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2023
  • The ultimate #golang tutorial you will need on how to successfully set up any provider to your application for server side rendering
    Goth Repo: github.com/markbates?tab=repo...
    Go blueprint: github.com/Melkeydev/go-bluep...
    Video Editor: @TheMason
    Twitch
    I stream live on Twitch every weekend
    Twitch : / melkey
    Join the amazing community on Discord
    Discord: / discord
    I post memes and host Twitter Tech Spaces
    Twitter: / melkeydev
    SUBSCRIBE OR GET LAID OFF
    ╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗
    ║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣
    ╠╗║╚╝║║╠╗║╚╣║║║║║═╣
    ╚═╩══╩═╩═╩═╩╝╚╩═╩═╝
    #coding #neovim #typescript #programming #vim #softwareengineering #codinglife #webdesign #webdevelopment #webdev #javascript #rustlang #rust #twitch #twitchstreamer #programmerhumor #codinghumor #software #softwareengineer #softwaredeveloper #softwaredevelopment #gymbro #gym #programmerhumor #programming #coding #golang #go #golanguage
  • НаукаНаука

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

  • @MelkeyDev
    @MelkeyDev  8 месяцев назад +30

    I hope you enjoy this longer tutorial style video!
    Let me know if you enjoy this style of content - been experimenting a lot with different types of videos!
    Please make sure to comment + like - the algo loves it

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

      blurs email, leaks email in the console output. lol

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

      I prefer the longer videos. They provide more context and show me how you think as a developer with golang.

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

      Can you please extend this video how auth can utilised for auhtnicating other api ?

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

      @@amardeepsingh1168 I asked for a full series on this actually 😃 @MelkeyDev hey man i see opportunity. 🤷🏾‍♂️ Maybe even a paid course some day. A lot of us are a bit off in putting all these pieces together and sometimes the examples are to complicated, require to clone and work on a project we didn’t create ourselves or minimal with the, oh you can figure it out 😂🫡. Just saying.

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

      The state parameter passed from login to callback differs, thus is not secure from CRFS.

  • @shintaii84
    @shintaii84 8 месяцев назад +40

    “I do not want you to show my email” a few second later the email is printed out in the console.

  • @jaymartinez311
    @jaymartinez311 8 месяцев назад +20

    Maybe a whole backend tutorial series to combine it all and we all become golang ninjas 😅

  • @brotherthegrest
    @brotherthegrest 8 месяцев назад +6

    The one video i needed for my project

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

    Thank you very much for this clear and detailed tutorial. It was a big help.

  • @Antonio-yy2ec
    @Antonio-yy2ec 4 месяца назад

    Pure gold! Thanks for sharing. It was just I needed

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

    I am new to golang and I was searching for some times now, thank you boss

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

    Liked and subscribed - thanks for the great content my dude

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

    A complete implementation of authentication with cookies, permissions, middleware using this library would be great help. Thanks for share your knolage ^^

    • @MelkeyDev
      @MelkeyDev  6 месяцев назад +1

      I really appreciate this comment

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

      i agree, even just authorization on routes would be really great

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

    Let’s goooo Go auth video dropped, putting a suit on one sec!!!

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

    Great video, has helped my out with implementing this exact thing in my project! I think having a way to view the final code for at least the implementation of the goth authorization functions in the backend could be helpful. You mentioned copy and pasting 2 of the 3 functions from goth accross to save video time, but being able to see the end result of that and how it all should fit together could help make it clearer for people. Very helpful video regardless, thanks.

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

      That's a great idea!

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

    Thanks man! love this content

  • @lucav.k.7588
    @lucav.k.7588 8 месяцев назад

    nice stuff really like your channel :)

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

    noice, I struggled a little bit to implement github oauth in my Golang x Sveltekit app recently. Will probably rewrite it using goth cos it looks so much cleaner than my implementation. That editing tho! 🙌

    • @CuongNguyen-gu9fl
      @CuongNguyen-gu9fl 4 месяца назад

      Yo can I have your repo link?

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

      @@CuongNguyen-gu9flhey, sorry but I ultimately ditched the github oauth all together xD not sure if you still want the repo link after hearing that

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

    As you said at the beginning, I have been looking for a video like this, great video!! Ps: How does teej feels about you using vsode?

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

    Awesome video! Exactly what I was looking for.
    Fun fact: I watch your video on 0.8x speed

  • @user-bj5yw2qn8k
    @user-bj5yw2qn8k 7 месяцев назад +3

    Nice one definitely would like to see more of this type of stuff from you, great tutorial

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

      Thanks, will do!

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

    How about performance consederations? if I did not need more than 3 oauth services, using the built in go oauth package may be a better choice, what's your take, but at the end it all make sense what to choose

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

    I have a golang api only project. How can I use it with a mobile app? Since there is no redirect to the mobile application

  • @rudy-anconi
    @rudy-anconi Месяц назад +2

    You can call it a complete tutorial when you store the user on the database, setup the cookies and create a profile page.

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

      I can add it to a future tutorial if you want, I didnt want to overload with so much information into one video.

  • @hrqmonteiro
    @hrqmonteiro 7 месяцев назад +6

    Would be nice to see beyond from that, like storing the User in your "user" table in a database. This way you can handle a signup and signin for the user.
    Couldn't find any example of that online. In other languages is plenty of it, like Node with Prisma and Nextauth for Oauth.

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

    Any idea how to manage this from a mobile app using dart or react native instead of the web interface?

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

    Yess omg
    I got fed up with searching for an 3rd party auth example for go lang and started learning jwts and shizz

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

    This is fire! We need more content like this

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

    hi mate, i really enjoy your content can you do more like this?? , cheers from Chile 🇨🇱

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

    I think you need to first implement the integration with google oauth yourself to understand how things work and only then go to libraries

  • @user-xv2kz7zj6w
    @user-xv2kz7zj6w 5 месяцев назад +1

    Helpful vid! However wondering what the purpose is of the cookie store? Does this send a cookie back to client?

    • @Rahman-xm7zm
      @Rahman-xm7zm 5 месяцев назад +1

      The cookie is for storing acsess token on the client. To make your app more secure, the access token should not be passed directly to the user. Instead, create a session token that is sent to the user as a cookie. The app will maintain a mapping of the session tokens to access tokens on the server side (most likely a database).

  • @theangelofspace155
    @theangelofspace155 8 месяцев назад +9

    Maybe not editing that much. Show the whole setup. Maybe redo this making a vite react app (todo) with go as the backend, chi as api server, postgres for the database (show how to connect to the databased) and auth (can use goauth but instead just printing the user, actually use it and show the worflow with the database). So a full stack tutorial. We will watch even if it is a couple hours. If it goes above an hours break it doen on parts like, "setting the backend" , "setting the frontend", "adding posgres driver", etc.

  • @banafish
    @banafish 5 месяцев назад +3

    I think there are too many jumpy cuts. I followed this very closely while looking at the repo and the video leaves out the "beginAuthProviderCallback" function, without which this won't work. But most importantly I don't understand the use of context here and would have liked more details about that. On the upside it made me curious so I looked it up.

    • @MelkeyDev
      @MelkeyDev  5 месяцев назад +1

      Appreciate the feedback banafish

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

    Timely for me, and appreciated. Thanks.

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

    can you please do one for apple

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

    common W!

  • @jorgesa4244
    @jorgesa4244 5 месяцев назад +1

    What console do you use? seems prett6 different from wsl

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

      Just the standard console from Ubuntu lol

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

    the maintainer has a medium blog stating he’s not maintaining the package anymore and is looking for someone to take it over. Just so everybody knows

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

      oh what? do you have a link?

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

      @@MelkeyDev hold on i’ll get it but you might have to have a medium premium account though.

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

    How to logout and login with another account?

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

      You might need to clear cache and try again to get to the Google OAuth home screen

  • @CuongNguyen-gu9fl
    @CuongNguyen-gu9fl 4 месяца назад +1

    I can't get redirected URI right for some reason.

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

      What is the issue?

    • @CuongNguyen-gu9fl
      @CuongNguyen-gu9fl 4 месяца назад

      @@MelkeyDevI was silly, didn't put the correct redirect URL.
      Thanks for your video, but another video using it with an endpoint would be nice.

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

    Your code does not work. :)
    After the callback, check state from the url query and then check your state, they are different. In other words, not secure to CRFS and thus invalid.

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

      My code works :)

  • @fatalsg92
    @fatalsg92 5 месяцев назад +1

    More Tutorials please!!!

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

      Okay - what do you want to see?

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

      @@MelkeyDev videos like this one. Go tutorials of things you think are interesting. Cheers!

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

    how can frontend know if user is authenticated??

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

      You would need to do something with a session token

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

      You could also create your own JWT from the user email and user ID for the session. I just used the OAuth for fast sign-up/sign-in.

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

    Awsome can you provide the repo for your code also ?

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

      I can make a new one!

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

      @@MelkeyDev would be a good idea to ake a new more in depth video about it

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

    where the github repo

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

    Youre like, 1 of 4 Go users in the whole world, should def make a whole Go backend series , oauth, api security, etc, backend stuff we should know

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

    😂 I still prefer to go with rust

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

    Can you give this github repo

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

      For this project? or go auth?

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

      This repository, it would be greatly appretiated@@MelkeyDev

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

    no htmx frontend!!?? Melkey, big disappoint

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

    Goth has no documentation bro

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

    you don't need to blast your face on my screen every 10 seconds. jesus christ

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

      what the fuck are you talking about

  • @celestinediask
    @celestinediask 3 месяца назад +17

    very bad tutorial you are skipping important parts of the video like setting up client id and secret key in google console and also you are skipping without even explaining things well. Now I have to watch another video to finish this. So here is my dislike. Sorry for being rude.

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

    Great vid! Just found out for my projects ory kratos - perfect solution, oss, selfhosted identity service with social logins etc. Very easy to setup almost all oauth2/oidc providers to sign in with. Highly recommend!