Vì Bcrypt là thuật toán hash. Đặc điểm của hash là với đầu vào là x thì hash(x) luôn luôn = y. ví dụ pass của em là a, ta có hash(a) = c Mật khẩu cần xác thực là b thì nếu hash(b) = c thì mật khẩu đó đúng.
A ơi cho e hỏi chút là e post 1 user và pass đã có ở trong data rồi nhưng nó chỉ trả ra là code:0, authenticate: false và trên inteliji nó báo Encoded password does not look like BCrypt e đã rò code nhưng chưa có fix đc a và mn giúp e vs ạ
Em xem lúc tạo user đã encode password chưa nhé. Nếu user của em là user cũ ở video trước lúc chưa encode password thì sẽ bị lỗi như vậy. Thử tạo user mới xem sao nhé
Em bị lỗi 401, cái branch mà a bảo là "Branch: course/encrypt-password-with-bcrypt". A có thể nói rõ là cái gì được không ạ, em mới tìm hiểu nên chưa biết mấy từ chuyên ngành ạ, mong a giải đáp
ơ e thêm cái spring security vào pom.xml , và set password giống a mà sao lúc e chạy nó generate ra password và nó chặn cái api thêm user của e luôn , sao code của a không bị nhỉ
Bạn sửa cái API create user: thay vì tạo 1 API response mới thì bạn return luôn cái API response, bỏ cái phần set code,message,data ở trên đi return ApiResponse.builder() .code(*để code của bạn ở đây) .message(*để message của bạn ở đây) .data(*để json data trả về ở đây) .build(); bất kì API nào bạn sử dụng cái ApiResponse đó cũng sẽ gặp lỗi tương tự thì bạn cứ sửa y chang là được.
Dạ anh ơi cho em hỏi là em có đặt debug tại "ApiResponse authenticate" khi em chạy thì nó ra kết quả là authenticationSerivce = null, và trả kết quả là code 9999 cannot invoke ạ
hình như là do cái dependency security ý mình cũng ăn quả lỗi 401 xong rồi cấp quyền cho nó xong thì ăn quả lỗi 403 lúc tạo User bạn sửa được lỗi chưa, mình xin bí quyết phát
a hướng dẫn hay và dễ hiểu quá, mong a tiếp tục ra những clip giá trị như này, chúc a sức khỏe ạ
Mong anh ra nhiều video hơn nữa, rất hữu ích ạ.
Video hay lắm, cảm ơn bạn nhiều nhé!
hãy quá ạ, mong a ra nhiều video hơn ạ
anh ơi cố gắng chữ to lên nhé anh , em thấy anh giảng rất hay đó ạ
trời ơi đúng thứ em đang tìm kiếm ạ hiihi cảm ơn anh nhiều
Tuyệt vời quá anh, nhận ra là không biết trước giờ mình đang code cái shit gì thế này😂
So glad to hear that.
Em cảm ơn thầy về video rất bổ ích ạ ..mong thầy có thể ra thêm video về thymeleaf được k ạ
Em cảm ơn ạ
09.06.2023
Video rất hay ạ.
chuoi video hay qua a
Hay quá anh ơi
19:32 verify
hay quá anh ơi
anh nói về JWT token được không ạ em có xem video của nước ngoài code theo thôi chứ không hiểu cốt lõi ạ
Tối nay mình sẽ up tiếp phần JWT nha bạn. Thanks for watching.
a ơi cho e hỏi lần đầu tiên e có thấy java sử dụng var, mục đích của var là gì ạ , và e ko hiểu builder là gì , mong a giúp e với ạ
Var là từ khoá mới giúp code ngắn gọn hơn thôi chứ bản chất nó vẫn là static type.
Còn Builder là một design pattern em có thể đọc thêm
@@DevteriaChannel em cảm ơn ạ
A cho em hỏi là Bcrypt không convert password đã mã hóa thành origin password được thì cơ chế nó matching để so sánh 2 password như thế nào vậy ạ?
Vì Bcrypt là thuật toán hash. Đặc điểm của hash là với đầu vào là x thì hash(x) luôn luôn = y.
ví dụ pass của em là a, ta có hash(a) = c
Mật khẩu cần xác thực là b thì nếu hash(b) = c thì mật khẩu đó đúng.
series này có apply microservice ko a
Anh sẽ cố gắng cover luôn ở series này luôn. Nếu không được thì a sẽ làm series riêng về microservices.
A ơi cho e hỏi chút là e post 1 user và pass đã có ở trong data rồi nhưng nó chỉ trả ra là
code:0,
authenticate: false
và trên inteliji nó báo
Encoded password does not look like BCrypt
e đã rò code nhưng chưa có fix đc
a và mn giúp e vs ạ
Em xem lúc tạo user đã encode password chưa nhé. Nếu user của em là user cũ ở video trước lúc chưa encode password thì sẽ bị lỗi như vậy. Thử tạo user mới xem sao nhé
khóa này có join bảng chưa anh ơi
Có đó em, ở phần xử lý Role Permision
Em bị lỗi 401, cái branch mà a bảo là "Branch: course/encrypt-password-with-bcrypt". A có thể nói rõ là cái gì được không ạ, em mới tìm hiểu nên chưa biết mấy từ chuyên ngành ạ, mong a giải đáp
Branch này để em check out code của anh về thôi. Trong trường hợp em làm theo nhưng không được thì có thể check out code về xem
ApiResponse mình lại để trong folder request hả anh
Anh để nhầm đó em move nó ra ngoài thư mục dto luôn cũng đc.
Mặc dù e đã thêm dependency nhưng mà vẫn không gọi được PasswordEncoder ạ ? A cho e hỏi là làm sao gọi được ạ
Em vào file pom rồi reload lại dependencies xem sao, đôi khi nó có thể bị cache em search google cách clear cache maven
@@DevteriaChannel thanks a
em cũng bị giống bạn sau đó clear cache mới được
id của user là được mã hóa à a
Nó là chỉ là một chuỗi UUID thôi chứ không phải mã hóa nha em
ơ e thêm cái spring security vào pom.xml , và set password giống a mà sao lúc e chạy nó generate ra password và nó chặn cái api thêm user của e luôn , sao code của a không bị nhỉ
Bạn sửa cái API create user:
thay vì tạo 1 API response mới thì bạn return luôn cái API response, bỏ cái phần set code,message,data ở trên đi
return ApiResponse.builder()
.code(*để code của bạn ở đây)
.message(*để message của bạn ở đây)
.data(*để json data trả về ở đây)
.build();
bất kì API nào bạn sử dụng cái ApiResponse đó cũng sẽ gặp lỗi tương tự thì bạn cứ sửa y chang là được.
e bị lỗi không thêm được dependency của bcrypt thì sửa như thế nào ạ
Em check lại file pom chắc thiếu dependency rồi đó
Good video
yế, sao lại có var trong java nhỉ, đừng ai cười em nhé, nhưng lần đầu tiên em thấy
Java liên tục phát triển mà. var chỉ mới xuất hiện từ Java 10. Nó sẽ tự gán data type dựa vào context xung quanh.
Dạ anh ơi cho em hỏi là em có đặt debug tại "ApiResponse authenticate" khi em chạy thì nó ra kết quả là authenticationSerivce = null, và trả kết quả là code 9999 cannot invoke ạ
Em coi lại các Annotation trên controller class
@@DevteriaChannel dạ, em mới vừa fix được khi nãy ạ, em cảm ơn ạ
Em tải code anh về chạy thì bên postman báo 401 anh ơi
Em check out đúng branch trong description của video nhé
em làm đến đoạn test postman thì chỉ get dùng được còn lại 3 phương thức kia bị lỗi 401Unauthorized
Em checkout về branch a ghi dưới description của video. Branch master chưa code base tới video cuối cùng rồi.
Anh ơi em dùng code như anh nhưng dùng spring security là bị lỗi 401 , còn gỡ ra là hết, là lỗi gì ạ
Em nhớ checkout branch về đúng như branch anh để trong description.
hình như là do cái dependency security ý
mình cũng ăn quả lỗi 401 xong rồi cấp quyền cho nó xong thì ăn quả lỗi 403 lúc tạo User
bạn sửa được lỗi chưa, mình xin bí quyết phát
ApiResponse em có để giá trị code = 200; Nhưng lúc log-in vào nó lại bằng 0 là sao anh nhỉ?
Em gửi đoạn code đó a coi thử.
mình cũng bị tương tự, cậu có fix được chưa cho mình tham khảo với
@@phucbaonhannguyen7358 b debug xem lúc gọi API nó có chạy vô cái đoạn đó k nhé. Mk lâu cũng k xem lại đoạn đó😅
@Builder.Default
int code = 1000;
Dùng default Builer là được nha mn
@@vuhaipham2267 vậy tại sao request với các path users nếu thành công thì code 1000 mà với path auth nếu k set @Builder.Default thì code lại là 0 nhỉ
a ơi sao api của em chạy đúng nhưng code lại là 0 được ạ, e thử api post thì vẫn code 1000 bình thường nhưng api authentication thì lại là code 0
b fix được ch tôi cũng vậy
@@MaiVanThi-io6hf bạn chỉnh thành như này nha
@Builder.Default int code = 1000
@@khanhtranphuc5193 dổi chỗ nào ấy bạn