JWT Authentication in Go (Gin/Gorm)

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

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

  • @YidiEnterprises
    @YidiEnterprises Месяц назад +6

    I'm an experienced dev. New to Go. I can't stand most coding tutorial. I feel like most youtubers make the content seem inaccessible, like you need their help to learn it and there is no better way and then they pass themselves off as experts on it all. I recently discovered your channel while exploring go concepts and you are the exception. You make it very clear where everyone can go to learn materials on their own if they want to branch off from your tutorial. You show the documentation and your process of learning in a way that lets other people learn how to learn rather than rely on you covering exactly what they need. You are not afraid to demonstrate concepts in a way that may make people think you are learning it for the first time and I love that

  • @imransarkar1805
    @imransarkar1805 29 дней назад +2

    Nice video, really great for an developer starting out with go backend-services! Great you also covered other basic topics next to just JWT!

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

    I prefer more straightforward, clean and structured videos like these.. great work man! Just subbed! 👾

  • @fabtjar
    @fabtjar 2 года назад +7

    I like how you are going through all the same setup like you did with your other Go video. Good way for me to remember the steps. I hate tutorials when they want you to watch their 20 setup videos first. Cheers.

  • @terrytas13
    @terrytas13 2 года назад +17

    Your videos are awesome! Straight forward and super helpful. Keep it up.

  • @toheebojuolape3736
    @toheebojuolape3736 Год назад +6

    Amazing tutorial. Love the way you arrange your files and structure your code. Neat!

  • @Dzikrullah_999
    @Dzikrullah_999 Год назад +4

    Clear, concise and straightforward. Thanks man!

  • @RossWasTaken
    @RossWasTaken Год назад +1

    I never comment on coding videos but the 'creating a CRUD API' video and this one are both godsends, rare to have everything I needed so efficiently packed together, made my life really easy. it also isn't rocket science for us to branch off from the video since everything is done the way it is in the docs. Criminally underrated channel.

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

    Really useful this video, I've seen some but this one is the best, no doubt! Congratulations!

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

    That was quick and neat. Didn't manage to get the daemon running for some reason (couldn't install it correctly. my dist just yelled "NO!" without any reason) but just followed it step by step and got some grasp around it. All I need to do now is build a frontend to use it with hah!

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

    aweome. thank you. PS: that typo in SECRET in the ENV was killing me the whole time :))))

  • @QuangMinh-gm3xb
    @QuangMinh-gm3xb Год назад +1

    your middleware usage is much more clean readable than others imo, thank you

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

    absolutely brilliant tutorial. easy to follow and understand. dont usually comment but thank you so much for this!

  • @nasxmo
    @nasxmo 2 года назад +2

    Your videos on Go really good and clean. Keep creating more videos on Go!

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

    Great Tutorial! I understand how difficult it is to make something that looks so smooth and effortless. Thank you! 😃 I find Go attractive, but have never dived in deep. This tutorial makes me want to.

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

    For part 2, it would be great if you can walk us thru how to turn this into a web page (user registration, login).

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

    Loved the way you are explaining things 🤟 Thankyou

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

    Thank you for the video! It was so helpful for me to find out how to do things in the Go way.

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

    Amazing tutorial , it so simple and easy to understand it thank you so much

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

    good video. I ran into an issue where I couldn't sync the database, after multiple hours of debuging to no avail, I just followed along with the rest of the video since I really just wanted to learn the jwt part.

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

    Oh my God i got to say it was my first time that i comment on a video if you are smart this video is yours it was great and i learned to much thank you man ,i really owe you

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

    More than excellent simple to understand, good explained every step

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

    Just what i was looking for, thank you

  • @bjugdbjk
    @bjugdbjk Год назад +1

    Simply Amazing , u made it look so simple, Thanks a ton brother !!
    Could you do something on "Go-lang with kafka"

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

    thank you for this tutorial Robby, i really appreciate this. Simple and easy to understand

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

    Very good video with clear explanation! Thank you!

  • @phoenix212
    @phoenix212 Год назад +1

    The expiration date for the JWT token doesn't have to checked manually, it auto checks if you set the expiration to claims["exp"].

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

    Excellent simple to understand, good explained every step

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

    Thanks ❤ please make complete Full stack project with go.😊

  • @viciousJavad
    @viciousJavad 2 года назад

    its amazing bro literally tons of information in "1" video.

  • @3damina911
    @3damina911 Год назад

    Thanks for video, very easy and helpful to understand the basics!

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

    Amazing Video! Thank you.

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

    you made it look sooo easy. thanks! this saved me hours of googling ..

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

    Hi @codingwithrobby I really like your Go videos. Learned a lot from it. I have a question in this video:
    1. You are making authentication using JWT and making a cookie in client. so, my question is, when we use front-end tech, like react or vue, do we need to setup the cookie from the front-end or back-end? if front-end, how will the middleware work? what will be it's code and structure?

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

    great tutorials man!! a need to more tutorials with this!!

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

    Thank you, sir! so clear and easy to understand. Great

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

    SIR YOU ARE THE BEST! ❤

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

    super clear tutorial than the others, thankyou!

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

    is there a reason why you're not creating the jwt and storing it in a cookie for the signup handler? What are we doing for session management for first time users?

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

    directly to the point. that's really awesome dude. keep it up

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

    i didn't get why you checking db in middleware? so what is the point of using jwt then?

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

    What a great content, thank you, Robby!

  • @mkfixethio
    @mkfixethio Год назад +1

    Excellent video , thanks. please make more video about golang using docs.
    does anyone know any youtuber that teach from docs? once understand reading docs everything will be easy.

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

    Very clear. Thanks

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

    thank you, good sir!

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

    Awesome video. You are helping a lot. Thanks!

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

    So wonderful!!! This video is very helpful

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

    great sutff robby....thank you

  • @dekooks1543
    @dekooks1543 2 года назад

    this was just brilliant from start to finish !!!

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

    Thank you for sharing such a great topic!

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

    thanks for this great video

  • @georgejoseph2601
    @georgejoseph2601 Год назад +1

    How did the error go away? I thought the error was because of how he misspelled SECRET in the .env file

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

    you are incredible, thank you for everything

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

    Very helpful, thanks

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

    Thanks, practical tutorials are awesome :)

  • @user-iq3dk8nt2w
    @user-iq3dk8nt2w 11 месяцев назад

    Thank you for the video. It was very useful to me

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

    this was so helpful, very quik and ismple

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

    Thank you for the good tutorial!

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

    Bro just got a new sub

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

    Thanks man! Learned a lot.

  • @code1860
    @code1860 2 года назад

    Subscribed. Please keep them coming.

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

    Practical tutorial very nice

  • @mateenbagheri
    @mateenbagheri 2 года назад

    Very educational and on point.

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

    the best tutorial ever

  • @tony-go-code
    @tony-go-code Год назад +1

    great tutorial, simple easy to understand and powerful.
    could you also make same with Fiber instead of Gin?

  • @ManuelHernandez-co7zn
    @ManuelHernandez-co7zn Год назад

    You are the best

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

    it's so good. thank you Robby.

  • @johnxisde
    @johnxisde 2 года назад

    thanks for this tutorial Robby!

  • @user-ro9ty1qk6r
    @user-ro9ty1qk6r 2 месяца назад +1

    Could you please share the GitHub repository for this code.

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

    I am using apple silicon and compile daemon is not working for me. I can even not install it, it says GOBIN etc

  • @user-dx1zz7mq9n
    @user-dx1zz7mq9n 9 месяцев назад

    great tutorial, can i use that cookie based authentication with templates?

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

    awww helpfull thanks bro

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

    so helpful to get started

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

    👍 great!

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

    Thank you it was amazing ❤

  • @user-ds1mj9op2u
    @user-ds1mj9op2u Год назад

    thanks it"s helpful for me.

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

    Thank you!

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

    theres no error catching for no claims on the cookie. this doesnt stop it from working but it causes a panic

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

    thanks bro, nice project

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

    I keep getting the error DB declared but not used and I'm not sure why as we are creating the pointer to the DB var in the connect function. Does anyone know why this is happending?
    var DB *gorm.DB
    func Connect() {
    var err error
    dsn := os.Getenv("DB")
    DB, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
    panic("Failed to connect to db")
    }
    }

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

      Because you used ":=" which created new variables within the scope of that function. Instead just use "="

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

    Amazing

  • @mostafa5863
    @mostafa5863 Год назад +1

    Thanks for your video
    One of the first things that attracted me was the auto import feature
    how can i get it in vs code?

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

      Just install the official go extension for vs code. When you install it’ll suggest some other installs, click “install all”.

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

    nice tutorial

  • @bartoszszar4889
    @bartoszszar4889 Год назад +1

    loved the video! would You consider linking the source code to the description?

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

    wonderful tutorial! thanks for your work!
    btw what was the gui postgresql client at 17:18 ?

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

    Thank you so much!

  • @user-ff2bs3ht3v
    @user-ff2bs3ht3v 8 месяцев назад

    getting a cors error when trying to fetch it on js.

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

    keep it up❤‍🔥❤‍🔥❤‍🔥

  • @muneess2979
    @muneess2979 2 года назад

    great job brother

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

    HEy one question about security. You are returning the password as part of response (models.user, see 00:35:35). of course this is an example BUT It could easily happen in a real world situation. What is the best practice to avoid this in go/GORM? Should we move the pass-hash to another table? or there is some specific config to tell fiber/GORM that passwordfield is a sensitive field? or instead of use the find-gorn method we create a query with specific fields?

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

      You could just remove the field, before returning the User JSON.

    • @ramadhanngallen9217
      @ramadhanngallen9217 Год назад +1

      On your struct exclude it to be exposed like `type User struct {
      Email string `json:"email"`
      Password string `json:"-"`
      ....
      }`
      The - will exclude it to be exposed

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

      @@ramadhanngallen9217 Thanks for your tips. I have some trouble about it and then the problem is solved

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

      @@rainfog_mzbYou're welcome

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

    Great video

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

    Perfect 👍

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

    nice

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

    i love you

  • @bjornericcom
    @bjornericcom 2 года назад

    Nice! Thanks

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

    fab!!!!!!

  • @user-mv6bn7vb2s
    @user-mv6bn7vb2s Год назад

    it is a great tutorial

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

    Muchas gracias 😄😄

  • @Geek-jx3gw
    @Geek-jx3gw 10 месяцев назад

    the last thing (middleware part is not working) v5 in auth
    i may search a little but if someone worked with them pls put the code

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

      It was not working for me too, then I searched for an updated tutorial, using v5, just for this jwt part and everything works perfectly, then I got back to this tutorial. I dont know what was the cause tho.

    • @Geek-jx3gw
      @Geek-jx3gw 7 месяцев назад

      omg thanks for the reply, i thought i did someth wrong@@BrenoAlmeida

  • @urow747kdkrjt
    @urow747kdkrjt 2 года назад

    please make a tutorial about the clean architect in Go