Sử dụng JWT trong Laravel

Chào mọi người, em đang tìm hiểu về JWT để áp dụng vào trong Laravel.
Cho em hỏi là ngoài việc áp dụng JWT vào phần xác thực người dùng (login, logout) thì ta có thể
dùng JWT ở phần nào khác trong một website ạ, cụ thể là em đang code website thương mại điện
tử.
Em cảm ơn!

JWT thật chất chỉ là mã hóa 1 mảng hoặc 1 chuỗi nào đấy nên thích dùng ở đâu mà chả đc bạn, ví dụ như bạn có lưu dữ liệu đơn hàng hay giỏ hàng vào session hay cookie ấy thì có thể dùng để mã hóa data

3 Likes

lý do gì đã đưa bạn đến với việc sử dụng jwt?

2 Likes

em đang có một đề tài ở trường về mặt an toàn thông tin, và được giao tìm hiểu JWT, nhưng nếu demo chỉ áp dụng trên phần login thì lại thấy là chưa đủ ạ.

Demo các cách thức authecation, dùng secrect key, hoặc key pair(RSA)…
Đọc về các chuẩn tạo JWT(RFC7519), RFC(8725). Nếu đồ án về JWT thì tạo 1 lib để sinh cái JWT luôn
Còn đi học thì nên đọc mấy cái này. sau này đi làm không có nhiều time để nghiên cứu đâu.
https://tools.ietf.org/html/rfc7519
https://tools.ietf.org/html/rfc8725

4 Likes

Nếu như login là Authentication thì JWT dùng trong những resources cần Authorization

với một câu search “JWT là gì” trên google, thì có quá nhều bài on top tiếng việt viết cũng khá rõ ràng, thậm chí có ví dụ luôn, nên mình không nói về JWT nữa

Nhưng mình có chút gợi ý để bạn có thể có nhiều câu hỏi hơn để hỏi, để chuẩn bị cho bảo vệ, không thích bạn có thể bỏ qua.

  1. Bạn dự định demo một website bán hàng, bảo mật cho website này là bảo mật cái gì?
    Với một website, có rất nhiều thứ để bảo mật, như là private resourse (ví dụ như database, file lưu trữ), bảo mật cache data, bảo mật về OS của server, bảo mật các thông tin cấu hình, bảo mật truy cập (tức là authentication và authorization), bảo mật các thể loại tấn công như sql injection hay ddos, cấu hình network các kiểu
    Từ ý này, thì JWT là áp dụng cho việc authorization mục đích là để bảo vệ resource của cho website
    Vậy website bán hàng của bạn có gì cần phải bảo vệ?
    Thông tin hàng hóa (tên, mô tả, giá cả…)? => không, bán hàng thì cái thông tin này đến được với càng nhiều người càng tốt chứ ai lại giấu
    Thông tin về shop? => không, lý do như trên
    Vậy rốt cuộc là cái gì? => do bạn tự định nghĩa, một số gợi ý cho bạn: thông tin khách hàng, thông tin đơn hàng. Thử tưởng tượng khách hàng này thấy được đơn hàng của khách hàng kia thì như thế nào => cần mỗi người (user) chỉ có thể truy cập đúng những thứ mà họ có quyền thôi. => vậy api xem đơn hàng cần phải bảo mật
    Hầu hết trường hợp khi nói về JWT cho web service đều là authorization cho api (xin lỗi, kiến thức hạn hẹp nên chỉ biết như vậy, không biết trong web service còn cái gì khác dùng api hay không)
    => Áp dụng JWT cho câu hỏi của bạn nghĩa là Authorization (API, không biết có dùng cho chỗ nào khác nữa hay không)

  2. Nói về Authorization của web service, thì ngoài JWT cũng sẽ có nhiều cách khác, nếu bạn đang làm đồ án thì bạn phải tìm hiểu: why/when JWT?
    Ngoài JWT thì có cái gì khác có thể dùng để Authorization?
    Tại sao/khi nào thì chọn JWT?

6 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?