.NET 6 Web API 🔒 Create JSON Web Tokens (JWT) - User Registration / Login / Authentication

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

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

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

    Thank you for not speaking as slow as humanly possible. I always have to put programming tutorials on 2x speed, but this was perfect.

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

    It is easy to miss because Patrick goes by it so quick @23:00
    Visual Studio tries to get you to do System.IdentityModel.Tokens but you need Microsoft.IdentityModel.Tokens as he says but its so quick blink and you miss it and might get stuck. Just thought I would leave this comment for anyone else who is confused why their code isn't working. Thanks Patrick for such a great tutorial!

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

    IM so glad someone is making JWT with .NET 6. Other people make videos with .NET 2 in 2022 which doesn't make any sense.

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

      Glad I could help! Thanks for your feedback!

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

    I stucked with JWT for one month but thanks to you I solved it finally. THANK YOU SO MUCH

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

      Great to hear! Thanks for your feedback!

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

      same here

  • @-02dmytrokotenko49
    @-02dmytrokotenko49 2 ปีที่แล้ว +2

    I have been putting off working on my term paper for about a month because I could not even understand the topic, but thanks to you everything became clear. Thanks dude and greetings from Ukraine :3

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

      Glad I could help! 😊Thanks a lot for your feedback!

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

    I saw this twice. the way you have explained, its very very easy and understandable.
    Thank you so much.

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

    I don't have any requests but just wanted to pass along another thank you as your videos are very instructive, concise and helpful.

    • @PatrickGod
      @PatrickGod  3 ปีที่แล้ว

      Thank you so much!! Means a lot. 😊

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

    It's art to able to share knowledge as easy as you doing.

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

      Thank you so much! 😊

  • @Mo-ef9yt
    @Mo-ef9yt 2 ปีที่แล้ว +5

    Nice tutorial
    In order for jwt token to be practical, you will need to provide a refresh token. Otherwise you will have to login every time you refresh a page.

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

      Hi, may I ask the logic of a logout API in respect of JWT authentication and authorization. It seems like ur quite knowledgeable in this topic!

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

    its perfect to watch the video.The video timeline can see your implementation funtion.

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

    Hello from Argentina Patrick!! Only i want you to know that you are a very good teacher, with very clearly explanations. I wish you a lot of success!

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

      Thank you so much! Means a lot to me! 😊

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

    Wow i was looking for exactly this, and presented by no other than the cozyest guy out there. cheers

    • @PatrickGod
      @PatrickGod  3 ปีที่แล้ว

      This is great. Thank you so much for your kind feedback. 😀

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

    Bit pedantic but in a production system I would not return "Bad Username" and "Bad Password" as a bad actor can use that information for their gain. Great tutorial as always 🙂

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

      I agree, keep them guessing

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

      You are absolutely right, Andrew! Thanks for sharing. 😊

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

    "I would never use the Lord's name in vain. Why would you think that?" 😂😂😂😂
    Subbed!!!!

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

      Thank you!! 😁

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

    Great video, clear, fast and concise. One tip though, since you are using a lot of key strokes when creating the methods, you could save some time when you get to entering the curly braces at the end of the method name, ({}), by simply enter the opening curly brace { and then hit Enter. It will close the curly brace, format them on the next line and put the cursor between the two ready to continue coding. No fiddling with the arrow keys to get back to the correct position. Keep up the good work.

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

      Dude! All these years! Thank you so much, this is amazing! 😄

  • @donmikkodanm.olmillo8154
    @donmikkodanm.olmillo8154 3 ปีที่แล้ว +1

    Thank you Patrick! I love the intro and how this community reacts on your last name 😂😂😂

    • @donmikkodanm.olmillo8154
      @donmikkodanm.olmillo8154 3 ปีที่แล้ว +1

      Hello Pattrick, would love to ask if you have a course on yt or udemy solely about EF Core (i.e. regarding 1:1, 1:n, n:n Relationships and how to work well with Fluent API)? If not, would love to request on that idea, Thank you!

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

      Hey there, Thanks for your feedback and suggestion. We actually cover all types of relationships in the. NET Jumpstart course with EF Core and SQL Server. But this is also a great idea for a quick and dirty tutorial. So, stay tuned. 😉

    • @donmikkodanm.olmillo8154
      @donmikkodanm.olmillo8154 3 ปีที่แล้ว +1

      @@PatrickGod Thank God for hearing our prayers and thank you Patrick for helping us to learn a fun and much easier with the tutorials and knowledge! ✨

    • @PatrickGod
      @PatrickGod  3 ปีที่แล้ว

      @@donmikkodanm.olmillo8154 Glad I can help. 😉

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

    I noticed when I create a new Blazor WebAssembly app with "Individual Accounts", the AspNetUser entity doesn't have a "Password Salt" field. I know it used to, I'm just wondering why it no longer does?

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

    Finally, the last name, been so afraid to say it. Very helpful tutorial, keep up the good job

    • @PatrickGod
      @PatrickGod  3 ปีที่แล้ว

      😊 Glad it helped! Thanks for your feedback!

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

    Thanks for video tutorial. The best part is that it is short and straight to the point.

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

      Thank you so much! Glad you like it! 😊

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

    Love your humor man! keep it going with you easy to learn videos

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

      Thank you so much! Appreciate it.😊

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

    This video is pretty old, but still very helpful. Thank you sir!

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

    Thanks Patrick, you tutorial helped me a lot. Much appreciated.

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

      You're most welcome! Thank YOU so much!! Really appreciate it! 😊

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

    Thank you so much for this excellent tutorial, Patrick. I also have a toddler, so, I know what you mean when it comes to struggling to sleep. Go well and stay healthy man. These are crazy times.

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

      They are, indeed. Thanks for your feedback. More sleep would be really great. 😅

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

    This guy's a gamer. Tries to type "user" but left hand goes to wasd and types "uawe" instead.

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

    Vielen Dank für das Video, es hat sehr viel Spaß gemacht es nach zu programmieren 🙂

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

      Freut mich sehr! Danke für dein Feedback - und den Kaffee! 😁

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

    Bro, you just deserve this last name hahahah, thank you so much !

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

    Great tutorial, deserves a comment for sure!

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

      Much appreciated!

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

    thanks, you save my final exam! with createToken function xD!

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

    Hey, Patrick, you made authentication very easy and teach use in very simpler way.
    Thanks for amazing tutorial.

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

    Hi Patrick, your tutorials are great. Can you make a tutorial for CustomAuthorization(ApiKey and JWT)? :)

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

    Just got your course at Udemy.

  • @Don-ii4vm
    @Don-ii4vm 3 ปีที่แล้ว +1

    Thank you for the tutorials. I hope you dont have to deal with to many people who harass Gods.

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

    Thanks God. This video is really helpful for me.

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

      Glad it was helpful!

  • @tech-savant
    @tech-savant 2 ปีที่แล้ว +1

    How would you connect this entire series of jwt authentication and oauth2 with angular on the frontend?

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

    It was a great video Patrick, but really very demanding. Still thanks again for the preview, I like your videos! I sent link to your videos to my friends

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

      Awesome, thank you! 😄

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

    Please keep posting on you tube they are so amazing great job

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

    Olá, meu nome é Eduardo Henrique, moro no Brasil, foi um prazer enorme participar deste treinamento, gostei muito e quero aproveitar outros vídeos, Vindo passear no Brasil, está convidado a ficar em minha casa, moro próximo da capital de Minas Gerais, em uma cidade chamada Santa Luzia. Fique com Deus.
    "Hello, my name is Eduardo Henrique, I live in Brazil, it was a great pleasure to participate in this training, I really enjoyed it and I want to enjoy other videos, Coming for a walk in Brazil, you are invited to stay at my house, I live close to the capital of Minas Gerais, in a town called Santa Luzia. God be with you."

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

    Superb! Continue this video with authentication and refresh token. And use it in some tasks. Greate

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

    Thanks God! :) Very clear and perfect pace...

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

      Thank you so much! 😊

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

    How do you persist the registered user data for later login?

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

    ein sehr hilfreiches video, vielen dank!

  • @Raimund-Checkts-iT
    @Raimund-Checkts-iT ปีที่แล้ว

    hi patrick, if you leave the passwortSalt in the userdto as property, a hacker gets the salt to test from the api at 13:16.
    and if you have the user as static in line 16, then it will interact with other logins at the same time.
    right?
    but i love your tutorial

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

    Thanks Patrick, just had a couple different questions:
    1. Is this how it's really done in production? I've seen a lot of tutorials almost all of which refer to the Identity package and external IdP but if your app (i.e. your DB) is the IdP in and of itself is this how it's done?
    2. I can't help but strain my eyes seeing that static User instance in your controller, not sure how this would even work as concurrent users would more than likely mutate the same instance ... how would you go about getting a user in the method body i.e. via transient service or http context?
    3. What's a good way to deal with 3rd party integrations? I still want to use this methodology to sign in users to my application but I want them to be able to add other social integrations in app to query remote resources. Would I have a table with FK to user, token, and refresh token allowing me to refresh as needed?

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

      Anyone's answer on this will be appreciated

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

    Great video...really helpful. Thanks man

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

    Wait does the out keyword create variables? In the register method you didn't initialize passwordHash and passwordSalt???

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

    Are you retrieving data from database also in login method?

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

    Very helpful video. I have a queation. During the ligin method testing. after you giving string as user name it says " CRAZY TOKEN" so where is it validating the user name i mean there i no database right?

  • @devdev-mr2ng
    @devdev-mr2ng 2 ปีที่แล้ว +1

    Thank you saved my project , you're the best ❤

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

      Glad I could help! Thanks a lot for your feedback! 😊

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

    is there a video about configuring this with a database?

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

    how about using this webapi and consume in a core application with admin panel ?

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

    hey Patrick, can you make a video about the use of Interface?

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

    Hi! thanks for the video, amazing as always, I have a question, why you put "= string.Empty()" in a property? I know that is for changing the default value of a string, wich is null, to an empty string, but why ?

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

    Initially thank you

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

    I love you man. Thanks so much for this tutorial and the pagination one.

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

      Happy to help! Thank you very much for your feedback! 😊

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

    What a godly content. Thank you

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

    I don't know how to thank you man! Thank you very much...

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

    sir this "System.Text.Encoding.Utf8.getbytes()" function are not avalable in this package

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

    ▶ [Part 2/4] .NET 6 Web API 🔒 Role-Based Authorization with JSON Web Tokens (JWT): th-cam.com/video/TDY_DtTEkes/w-d-xo.html
    ▶ [Part 3/4] .NET 6 Web API 🔒 Read JWT Authorization Claims of a User (from a JSON Web Token): th-cam.com/video/fhWIkbF18lM/w-d-xo.html
    ▶ [Part 4/4] Refresh Tokens with a .NET 6 Web API 🚀: th-cam.com/video/HGIdAn2h8BA/w-d-xo.html

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

    Hi Patrick, Thank you for this tutorials very useful., My concern now is how to Post to the database if you register and to Get the user from the database? Thank you in advance...

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

    why is your access modifier for username set public?

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

    Thanks for this valuable tutorial, learning alot fro this channel

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

    is there a reason why you labled the user object as static?

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

    thank you sir.. but how can i implement this JWT token on the client side? have you made a video about it?

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

      This one is for you: th-cam.com/video/Yh16E2u2pio/w-d-xo.htmlsi=GHlDOTnINjLHTnwa

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

      @@PatrickGod thank you again sir.. is it the same for web App empty? Or should i use blazor?

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

    Thanks for the video, greetings from Brazil.

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

    Thank you for the tutorials

  • @Untold-Stories
    @Untold-Stories 5 หลายเดือนก่อน

    Thank God. Thank you God

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

    Hi Patrick, great course !!! Thx

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

    Thank you for making perfect video. I have a question how about logout. Can you make a video or suggest me some solutions. Thanks

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

    Hello Patrick, love your videos! Im completely new to this and would like to learn how to store registered users in a sql database.
    You dont happen to have any videos that demonstrates the entire process?

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

      Hey there! We do that in the .NET 6 Jump Start Course. You can check it out here: th-cam.com/video/K23uJdMiEpk/w-d-xo.html

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

    Hi Patrick, thanks for the tutorial and my free course .NET Core teacher. Your explanation is very clear and easy to understand 👍👍

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

    Why does the repo suddenly has userservices and Iuserservices?

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

    Nice Tutorial , its simple and easy to grasps.

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

    I dont understand why your key is "top secret key" and everything works fine while mine key must be long af, otherwise i receive errors about key

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

      Yeah same here, I received error if my key gets less than 512 bits so my secret key is long af

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

    Why are you returning your Model from the controller?

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

    Hi Professor
    Now that we have received the token after logging into the system, how is this token used in the user's activities on the site. Do you have training in this field?

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

    how do we use expire time in token to logout application automatically after certain time in angular?

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

    Hi, great tutorial, thakns. Is ther a way to use this technic with a web application? Fo now I use cookies, it works fine, but I will have to manage SSO possibly with cross domain, and cookies does't travels from one domain to another, so I search how to use jwt cookieless on a webb app, not API.

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

    i love u mr Patrick. Thanks for everything

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

    Hello sir, first of all thank you for your video. I have a question. How can i save user information in database ?

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

    Hi can you list what are the nugget packages with version you have used in this tutorial

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

    Thank You Patrick! If I want an web app to authenticate against this API, where should I store the Token, in a cookie, in session? What's your sugestion? So the API login method should take care of this? Thanks again.

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

    I am trying this approach with SqL server. I am unable to save the PasswordHash and PasswordSalt to DB. I am receiving serialization and deserialization of 'system.action' error. Couldn't find solution for this online as well.

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

    Great tutorial! I was exactly looking for that and it’s very well explained :)

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

      Thank you very much for your feedback! 😊

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

    i want to use auth plugin , vue frontend, .net core , mssql for backend, Can you suggest please.

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

    This is good quality material. Thank you so much.

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

      Thank you very much for your feedback! Glad I could help. 🙂

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

    man i thought it's only me having "refresh trouble" after compiling using visual studio 2022 😂, it's better get rest immediately right after encountering this "refresh trouble"

  • @NatnaelTadele-es3lr
    @NatnaelTadele-es3lr 2 ปีที่แล้ว

    Exactly what I was looking for, Thanks

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

    and now. How i use it in a API?
    I want only authorized users get the list of products

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

    I like and subscribed. Thank you

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

      Thank you so much!

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

    i literally clapping my hands when i finished watching the tutorial. good job! one questions, would you advise to use customized authentication or use UserIdentity?

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

    Your videos are the most helpful ive found, thank you !!!

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

    Tried it in .net 5 and upon checking jwt on the checking site it says that signature's invalid
    Is this normal?

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

    Thx u Patrick, nice, amazing tutorial

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

    I love your udemy course!

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

      Happy to hear that! Thank you so much!

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

    Hey Patrick, Thanks for awesome video .
    do you have any video about how to save the user in Db and not on a static like now ? (User user = new User right now) ...

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

    15:41 Can you explain why the login method works ? You're sending the values "string" while in your code the user's username and password are both set to Empty ... In my opinion this should have not worked with either "string" or "string1" ... I'm a bit confused

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

      They are empty initially but in every test he does "register" a user which fills the fields in the memory then logins.

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

      @@ReotteCetelle how to connect with sql database? sir

  • @eng.wandeson
    @eng.wandeson 2 ปีที่แล้ว

    Thanks for it, dude! I’m need it

  • @AbdulAziz-xi1lo
    @AbdulAziz-xi1lo 2 ปีที่แล้ว

    Hi problem in saving Hashed PW and Salt into sql server using dapper can you help in this please !!!

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

    Thanks for this, Patrick!

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

    Great tutorial

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

      Thank you! Cheers!