Auth: 03 - JWT là gì và những điều cần biết 🎉

  Рет қаралды 46,983

Easy Frontend

Easy Frontend

Күн бұрын

Пікірлер: 104
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Cảm ơn các bạn đã xem video của mình nhé! 😍 Hãy đặt câu hỏi bên dưới nếu bạn có thắc mắc gì nha hehe
@BigMouth1001
@BigMouth1001 4 жыл бұрын
nay rảnh ngồi xem lại mấy video chia sẽ của anh thật bổ ích, cảm ơn anh rất nhiều
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hihi cảm ơn em nhiều nha Trung ơi, rất vui khi videos của anh hữu ích với em nè hehe 😍
@LanNguyen-gt6bc
@LanNguyen-gt6bc 4 жыл бұрын
Làm nhiều về jwt rồi mà nhiều cái vẫn bỡ ngỡ, cảm ơn anh
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Yeah cảm ơn em nhé Lân, rất vui khi video hữu ích với em nè 😍
@shenkn2140
@shenkn2140 4 жыл бұрын
tuyệt vời. Hóng Chờ video anh code quá. Đi làm về cứ thích lên YT xem có video mới chưa. :))))
@EasyFrontend
@EasyFrontend 4 жыл бұрын
haha hạnh phúc quá, được mn ủng hộ nhiệt tình, thiệt sự super vui luôn, a cũng luôn cố gắng làm video càng nhanh càng tốt để có cái cho mn tham khảo hihi 😍
@dumucga5713
@dumucga5713 4 жыл бұрын
Anh ơi nhanh ra video cho bọn em xem nào. Em like, share nhiệt tình
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hahaa a đang soạn tài liệu cho video tiếp theo nè em ơi hihi, hi vọng mai sẽ có video mới, lâu quá rồi chưa có video hihi
@baolyhong6140
@baolyhong6140 4 жыл бұрын
hóng phần tiếp theo của cái JWT này nè hehe, rất bổ ích
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hehe cảm ơn em nhé Bảo, hi vọng sẽ sắp xếp thời gian ra sớm cho mn tham khảo nè hehe 😍
@foresttruong2909
@foresttruong2909 4 жыл бұрын
Like trước, tối về xem :)) làm nhiều r mà vẫn thích xem mấy video của a @@
@EasyFrontend
@EasyFrontend 4 жыл бұрын
haha cảm ơn em nhiều nha Forest 😉Tối về xem xong có gì lạ lạ thì cùng trao đổi e hen hehe
@xuanquangnguyen2291
@xuanquangnguyen2291 3 жыл бұрын
Dễ thương quá bạn tui ơi, cám ơn bạn
@EasyFrontend
@EasyFrontend 3 жыл бұрын
hahaa cảm ơn Quang nhiều nhiều nhaaaaaa 😍
@haptn
@haptn 3 жыл бұрын
Anh ơi, nếu như phía server không lưu JWT thì nó check xem JWT này có hợp lệ không bằng cách nào anh nhỉ? Có phải là mỗi lần có request từ Front-end xuống thì nó lại generate lại secret key để so không ạ? Em chưa rõ chỗ này lắm. Em cảm ơn anh ạ!
@EasyFrontend
@EasyFrontend 3 жыл бұрын
hi Hà, có một số lưu ý thế này em nhen: Private key được dùng để tạo ra JWT và validate để xác nhận là JWT có bị chỉnh sửa thay đổi không? Nếu mà nó thấy có chỉnh sửa thì coi như ko hợp lệ Các bước dạng thế này: 1. Đầu tiên server sẽ dùng một cái private key để tạo ra JWT và ko lưu JWT này. 2. Phía client có thể đọc JWT và rút trích thông tin từ JWT, tuy nhiên không được phép chỉnh sửa, ví dụ mình cố tình chỉnh sửa đi hen. 3. Khi lên server, mình sẽ dùng private key lúc tạo JWT để validate kiểm tra cái JWT gửi lên có hợp lệ ko? có bị chỉnh sửa gì hk? Nếu hợp lệ thì mình cho họ pass, còn ko thì báo lỗi hehe Còn cách check thì có thư viện hỗ trợ mình òi, mình gọi đúng hàm là okie hehe
@shenkn2140
@shenkn2140 4 жыл бұрын
Anh Hậu ơi. Dịch bị cách ly buồn quá. Ra video sớm cho em đỡ buồn vs ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hihi okie em Shen ơi, anh đang tăng tốc để ra videos, sr em, hôm giờ a phải chuyển laptop từ MacOS sang Windows nên phải setup lại hết =))) Giờ xong òi, chuẩn bị làm lại videos đây hehee
@softwareanddesign6641
@softwareanddesign6641 4 жыл бұрын
Anh làm video về cách Log out hoặc invalid JWT đi, vì không có nhiều video hoặc tutorial hướng dẫn
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi em, về JWT thì để logout chỉ đơn giản là xoá JWT ở phía client là xong nè. 😉 Vì server ko có lưu thông tin của mấy JWT này hehe
@leducthinh4429
@leducthinh4429 4 жыл бұрын
cảm ơn anh, kênh anh làm hay lắm ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Le Duc Thinh thinh Yeahhhh cảm ơn em nhiều nhiều nhé Thịnh ơiiiii 😍
3 жыл бұрын
E cảm ơn a vì video rất hữu ích ạ ^^
@trungbuunong317
@trungbuunong317 4 жыл бұрын
Anh nói dễ hiểu thật!
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Yeahhh may quá, a cứ sợ video này nói ko ai hiểu =)))) Cảm ơn em nhiều nha Trung ơi 😍
@ngoctrongnguyen9251
@ngoctrongnguyen9251 4 жыл бұрын
Cảm ơn anh ạ . Anh có đinh làm têm tutorial về webpack k ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Trọng, anh nghĩ chắc sẽ nói nè, mà hơi lâu hihi, hiện có nhiều series cần được thực hiện trước, xong thì a sẽ move qua mấy topic phụ, trong đó có webpack nè hihi
@sohot98
@sohot98 3 жыл бұрын
anh ơi chco em hỏi. người ta thường sử dụng jws thôi. JWE để làm gì v anh, ứng dụng như thế nào v ạ. anh có thể cho em xin link tham khảo nếu có được ko ạ. em cám ơn
@EasyFrontend
@EasyFrontend 3 жыл бұрын
à em đọc link này thử nha hehe medium.facilelogin.com/jwt-jws-and-jwe-for-not-so-dummies-b63310d201a3
@loankim8580
@loankim8580 2 жыл бұрын
Anh cho em hỏi là cái phần chữ kí số trong video là 123456 đấy thì là do mình tự quy định hay nó tự sinh ra ạ.
@EasyFrontend
@EasyFrontend 2 жыл бұрын
hi em, video này lâu quá anh hk nhớ rõ lắm, hk biết em hỏi ở phút giây thứ bao nhiêu vậy em hen?
@loankim8580
@loankim8580 2 жыл бұрын
@@EasyFrontend ở 5p21s ạ
@XuanQuynhLexuanquynh
@XuanQuynhLexuanquynh 3 жыл бұрын
bạn nên tạo 1 list liên tục cho dễ theo dõi. thank for sharing.
@EasyFrontend
@EasyFrontend 3 жыл бұрын
yeah cảm ơn bạn đã góp ý cho mình nhé, cái này thời đầu làm nên hơi lộn xộn tí, mình sẽ rút kinh nghiệm cho mấy series sau hehee
@nhatnamtran2973
@nhatnamtran2973 4 жыл бұрын
Coi series này em hiểu về cách login bằng jwt rồi ạ, Series này có nói về chức năng đăng ký không anh, cảm ơn anh ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Nam, sẽ có cả đăng ký và đăng nhập luôn nhé Nam. Video sắp tới sẽ nói vụ đăng ký nè hehe
@ChienLe-oi9uu
@ChienLe-oi9uu 3 жыл бұрын
Anh cho em hỏi tại sao không nên set thời hạn token quá lâu. Và sử dụng cơ chế hai token (token + refreshToken) sao cho smooth nhất ạ
@EasyFrontend
@EasyFrontend 3 жыл бұрын
à về token quá lâu, em tìm hiểu thêm về việc delay ở inactive tab em nha, lúc đó thời gian setTimeout nó ko còn chính xác nữa đâu. Đó cũng là điều cần lưu ý khi dùng setTimeout, setInterval mà tab ở trạng thái inactive. còn về refresh token, cái này nguy hiểm vì hacker mà lấy đc thì toi họng, họ có thể tạo ra access token mới thoải mái, lúc đó phải apply thêm các security checks khác nữa. Mấy cái này em nên discuss với backend team để có cái plan chi tiết hơn em nha :)
@nguyenthinh7262
@nguyenthinh7262 Жыл бұрын
Secret key được lưu trữ như thế nào ở database và trong trường hợp system distribution thì như thế nào v a
@EasyFrontend
@EasyFrontend 9 ай бұрын
sr em, cái này anh hk rõ nữa nhen
@tuongnguyenhuy4069
@tuongnguyenhuy4069 3 жыл бұрын
rất dễ hiểu ạ
@EasyFrontend
@EasyFrontend 3 жыл бұрын
yeah cảm ơn em nhiều nhé Tưởng 😍
@nguyenmuoi.66
@nguyenmuoi.66 2 жыл бұрын
a ơi em hỏi chút ạ, e đang học môn an toàn và bảo mật thông tin, đang cần làm một bài thuyết trình, thì e thuyết trình về JWT có đúng chủ đề không nhỉ?
@EasyFrontend
@EasyFrontend 2 жыл бұрын
à được em nhen, cơ mà sẵn em làm cho đủ bộ luôn authentication authorization jwt cookies 2FA em research thêm để trình bày về chủ đề này cho trọn vẹn em nha
@hongdungnguyen634
@hongdungnguyen634 4 жыл бұрын
Cho mình hỏi mình làm bên backend nếu mình đưa 1 array nhiều permission vào jwt được không ạ, kiểu permission = [ {id: 1, name: 'create new user' }, {id: 2, name: 'edit user' }, {id: 3, name: 'delete user' }, ... nhiều quyền nữa ] Nếu đưa vào nhiều quá thì nó có nặng quá và token nó lỗi không tạo ra được?
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi em ơi, nếu ít thì okie nè, nhưng nếu nhiều quá thì ko được nha, vì quá dài thì token dài, và vượt quá giới hạn của header, nó sẽ bị cut-off, và gây ra lỗi. Nên với những cái này thì nên get một api riêng cho nó nhé 😉
@thanghoangngoc2564
@thanghoangngoc2564 4 жыл бұрын
anh thu âm bằng gì mà âm thanh trong video chất lượng vậy ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Thắng, anh có dùng mic thu âm này nhé tiki.vn/micro-thu-am-cai-ao-cho-dien-thoai-may-anh-dslr-may-quay-boya-by-m1-azone-p14039112.html?spid=52400589 hehee 😉
@thanghoangngoc2564
@thanghoangngoc2564 4 жыл бұрын
cảm ơn anh nhé
@ucduong2288
@ucduong2288 3 жыл бұрын
A hậu ơi anh có code authentication với JWT trong reactjs không cho em xin tham khảo với ạ. em cảm ơn anh nhiều lắm em đang bị kẹt phần này ạ
@EasyFrontend
@EasyFrontend 3 жыл бұрын
hi Dương ơi, trong series này có á em, em tham khảo mấy videos tiếp theo nhen 😉
@thiettruong7381
@thiettruong7381 3 жыл бұрын
anh bày thêm về cái lấy token và cái refresh token đi anh
@EasyFrontend
@EasyFrontend 3 жыл бұрын
hehe lấy token thì video tiếp theo có á Thiết, còn refresh token thì hiện tại chưa có em ơi hehe
@chiemdunguyen9513
@chiemdunguyen9513 4 жыл бұрын
Cái JWT sau khi được lưu trữ ở cookies có thể bị lấy cắp và sử dụng cho việc đăng nhập bằng JWT k ạ ?
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Dự, về cơ bản server trả về client cái JWT đó, nó như là một bằng chứng em đã đăng nhập rồi, và có thể dùng để lấy dữ liệu trên server. Nên nếu em để JWT cho người khác biết hoặc lấy được thì coi như xong 🙂 Cũng như việc e giao chìa khoá nhà cho người khác vậy đó, họ muốn vào nhà lấy gì thì lấy 😉
@chiemdunguyen9513
@chiemdunguyen9513 4 жыл бұрын
Easy Frontend dạ, em hiểu rồi ạ, ^^, dạ thế thì cái JWT này có khả năng bị lấy cắp khi nó lưu trữ trong Local Storage của trình duyệt hay k ạ, ví dụ như trong cookies ạ, chúng ta có thể lấy được JWT trong cookies k ạ? Mong anh giải đáp giúp em ạ, hihi ^^
@EasyFrontend
@EasyFrontend 4 жыл бұрын
@@chiemdunguyen9513 hi em, cơ bản thì khó lấy nè trừ khi người dùng bị mắc bẫy của hacker thôi em ơi. Mà hacker thì có muôn vàn cách để xâm nhập nên bảo mật 100% thì ko có nè. Nhưng thông thường thì em lưu dưới localStorage là okie rồi nè, với JWT thường có thời gian hiệu lực ngắn nên nếu xui bị lấy thì hacker cũng ko xài được lâu 🙂
@chiemdunguyen9513
@chiemdunguyen9513 4 жыл бұрын
Easy Frontend hehe, em hiểu rùi ạ, em cảm ơn anh nhiều ạ, hihi
@vnizero7341
@vnizero7341 4 жыл бұрын
Em chào anh ạ. Hiện tại em là sinh viên năm nhất trường đại học BK TPHCM. Em không thích ngành mình đang theo học nữa. Em dự tính là năm tới nghỉ học và xin đi học ở trung tâm Nordic Coder. Nếu em hoàn thành khóa học ở Nordic Coder và nhận được một thư chứng nhận thì em có thể xin đi thực tập được chưa ạ. Em cảm ơn anh
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi em, theo anh thì có thể nhưng rất khó nhé. Lý do là thế này, để trở thành một Frontend em cần có: 1. Tiếng Anh (nghe nói tốt là ok, viết không yêu cầu quá cao) 2. Kiến thức nền tảng của IT - Nhập môn lập trình - Kĩ thuật lập trình - Cấu trúc dữ liệu và giải thuật - Lập trình hướng đối tượng - Tools - Terminal - Git + Github - ... 3. Kiến thức chuyên môn bên mảng Frontend - HTML + CSS + JS - Một JS framework: ReactJS hoặc Angular hoặc VueJS, ... 4. Làm các dự án thực tế - Xây dựng được một website responsive nào đó - Deploy website lên online sử dụng surge.sh, heroku, github pages, vercel, ... 5. Các trang luyện tập giải thuật - Hackerrank: www.hackerrank.com/ - LeetCode: leetcode.com/ - ... Khoá học ở NC 6 tháng nó cho em được cái nền tảng cơ bản của HTML + CSS + JS + ReactJS để giúp em có thể được mảng kiến thức nền tảng của Frontend, nhưng em phải chủ động học thêm về phần giải thuật, cũng như tư duy về lập trình, thì mới mong sau 6 tháng có thể đi làm được nè 🙂 Dĩ nhiên đi làm, có chỗ yêu cầu cao thấp khác nhau, nhưng nếu em muốn đi làm thuận lợi, dễ phát triển sau này thì em phải đầu tư mảng kiến thức nền tảng của IT. Theo anh, 6 tháng nếu may mắn em có thể thực tập được, 9 tháng -> 1 năm thì có thể làm fresher được, rồi từ đó mà đi lên dần dần, luôn luôn học để cải thiện kiến thức liên tục em nhé! 😉 Tham khảo thêm về roadmap cho FE: roadmap.sh/frontend
@vnizero7341
@vnizero7341 4 жыл бұрын
@@EasyFrontend Em cảm ơn anh nhiều lắm ạ. Chúc anh có nhiều sức khỏe và thuận lợi hơn trong công việc.
@PHU21994
@PHU21994 4 жыл бұрын
Dear anh, em dân trái ngành. Nếu khổ luyện học trên freecodecamp.com thì có thể đạt được những điều anh nói bên dưới hay không?
@huynhhoang8649
@huynhhoang8649 4 жыл бұрын
Thanks anh, em rất thích bài giản của anh. Không biết khi nào anh mới ra video xây dựng login form sử dụng axios, jwt vậy anh? Em hóng quá :D
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hihi sr Hoàng, hôm giờ a bận chuyển laptop nên phải setup lại, giờ ready rồi, chuẩn bị có videos hehee. Video tới sẽ làm cái Firebase sign in với prebuilt UI Sau đó là tới custom login form 😉
@huynhhoang8649
@huynhhoang8649 4 жыл бұрын
@@EasyFrontend Thanks anh nhiều.
@ngocnguyenhuu6607
@ngocnguyenhuu6607 5 ай бұрын
Làm thế nào để biết 1 token hợp lệ ạ
@EasyFrontend
@EasyFrontend 3 ай бұрын
phía backend mình có hàm để kiểm tra tính đúng đắn và trọn vẹn của cái token được tạo ra bởi chính mình nha, em tham khảo thêm keyword "how to validate a JWT" nha
@huubinhnguyen6240
@huubinhnguyen6240 4 жыл бұрын
Vậy là phần header & payload users vẫn có thể đọc được ạ?
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Hữu Bình Nguyễn yeah đúng rồi nhé Bình, chỉ là họ ko chỉnh sửa đc thôi nè 😉
@huubinhnguyen6240
@huubinhnguyen6240 4 жыл бұрын
@@EasyFrontend anh làm video về animation trong react hooks được không ạ :((
@darkfury5896
@darkfury5896 2 жыл бұрын
Em cảm ơn anh nhiều ạ
@nvs4600
@nvs4600 3 жыл бұрын
Anh ơi, jwt có bảo mật không anh?
@EasyFrontend
@EasyFrontend 3 жыл бұрын
hi em, chỗ này anh nghĩ là có 2 thứ 1. bản thân jwt là cái chuỗi mã hoá có chứa dữ liệu và ko thể chỉnh sửa hợp lệ được nếu ko có private key, nên cái này là bảo mật em nha, nhưng em mà để lộ private key thì toi họng nhé. 2. jwt được dùng như một access token, nên ai có access token đều có thể truy cập được thông tin giống nhau, nên nếu em quản lý ko tốt, để mất access token thì cũng toi họng. Nên vấn đề bảo mật ở đây cần có một sự kết hợp giữa việc tạo ra, quản lý và sử dụng jwt em nha 😉 Nếu bị hỏng ở stage nào thì đều có rủi ro security nhé!
@nvs4600
@nvs4600 3 жыл бұрын
@@EasyFrontend em yêu anh.
@truongthien9456
@truongthien9456 4 жыл бұрын
Nếu Authentication Server ko có database vậy làm sao check username password ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Thiện, a chưa hiểu ý em lắm, sao mà lại ko có database ta? username + pwd e định lưu ở đâu hen?
@truongthien9456
@truongthien9456 4 жыл бұрын
@@EasyFrontend Dạ ở phút 9:21 cái hình của anh ấy ạ Thì là ở Bước 2 cái Authentication Server trả về jwt với user á anh, tức là theo em hiểu có 1 database chứa user ở đó Xong sau đó gọi tới Application Server để gọi API á anh, v database ở Application Server đó có table user k anh ( Nếu có thì trùng bên Authentication Server, còn không thì làm sao tạo liên kết các bảng được ạ )
@khangleminh4328
@khangleminh4328 4 жыл бұрын
Hay quá anh !!
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hehe cảm ơn em nhiều nhé Khang 😍
@phamvandat2000
@phamvandat2000 2 жыл бұрын
tks anh
@LinhNguyen-cz1cx
@LinhNguyen-cz1cx 4 жыл бұрын
Ra vlog nextjs đi a
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hihi cảm ơn em nha, mà hiện a chưa làm nhiều với nextjs nên chưa dám chém gió nè hehee
@lina-qt8tj
@lina-qt8tj 3 жыл бұрын
Anh ơi, nếu có thời gian anh làm video chia sẻ về cách login một trang dùng cho nhiều trang (sso) đi ạ. E đang k hiểu lắm về phần này ah. Em cảm ơn
@EasyFrontend
@EasyFrontend 3 жыл бұрын
à một topic hay nè, mà hơi phức tạp để setup demo hen, nhưng mà anh ghi nhận nhen, để có time ngâm cứu cách hướng dẫn hehe 😉
@trungminh549
@trungminh549 4 жыл бұрын
Cam ơn Anh!
@HauNguyen-mb3si
@HauNguyen-mb3si 4 жыл бұрын
Cảm ơn anh
@phtanh_
@phtanh_ 4 жыл бұрын
Anh ơi cho em xin zalo của anh để em hỏi cái chuỗi token này với được không ạ
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Anh, em chịu khó post câu hỏi lên nhóm trao đổi facebook của anh nhé 😉
@huuong7758
@huuong7758 4 жыл бұрын
Toẹt vời
@EasyFrontend
@EasyFrontend 4 жыл бұрын
wohoo cảm ơn e nhiều nhé Đông 😍
@senfun11
@senfun11 4 жыл бұрын
Anh ơi a có mở lớp dạy reactJS không anh ơi @@
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Thành Tuân haha a có đang dạy một lớp offline về Frontend em ơi, đi từ html css tới js rồi qua reactjs luôn hehee
@senfun11
@senfun11 4 жыл бұрын
@@EasyFrontend anh cho e thông tin lớp đó với :D e vừa đậu pv công ty chuyên về fron-end mà chẳng biết gì hết haha
@EasyFrontend
@EasyFrontend 4 жыл бұрын
hi Thành, em xem thông tin ở link này nhé nordiccoder.com/khoa-hoc/khoa-hoc-web-front-end-development/ hehe nếu em muốn tham gia thì gọi cho bên Nordic Coder nói lớp thầy Hậu - Frontend nhen, em có thể dùng code Hau10NC để được giảm giá hen 🙂
@senfun11
@senfun11 4 жыл бұрын
@@EasyFrontend E muốn join khi bắt đầu ReactJS được k a mấy cái kia e nắm hết rồi học lại mất thời gian quá @@
@EasyFrontend
@EasyFrontend 4 жыл бұрын
Thành Tuân à được em nhé, e cứ liên hệ NC để đc hỗ trợ nha hehe 🥰
@TranDangDuyTan
@TranDangDuyTan 4 жыл бұрын
thanks
Auth 01: Phân biệt giữa Authentication vs Authorization 🎉
9:36
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Why is JWT popular?
5:14
ByteByteGo
Рет қаралды 343 М.
Difference between cookies, session and tokens
11:53
Valentin Despa
Рет қаралды 666 М.
Javascript: Xử lý expired token như thế nào? 😎
9:46
Easy Frontend
Рет қаралды 26 М.