anh cho em hỏi là cách này làm nó có khác gì với khi login trả về 1 access token và 1 refresh token không vậy anh!
@theluongbui27895 ай бұрын
anh ơi sao mình không config access token vào headers đối với 2 apis (.../logout, .../refreshToken). Khi đó jwtDecoder trong FilterChain sẽ xử lý verify access token -> mình sẽ không cần phải xử lý verify lại bên trong service
@DevteriaChannel5 ай бұрын
Ví trong trường hợp này token không được xem là để thực hiện việc Authentication mà nó được xem là một param.
@tanchannel33308 ай бұрын
Anh ơi cho em hỏi trong một số cách implement em thấy người ta trả cả accesstoken và refresh token luôn á anh em vẫn ch hiểu lắm giữa 2 cách này
@DevteriaChannel8 ай бұрын
Refresh token riêng là theo tiêu chuẩn của Oauth2. Ở đây mình không follow hoàn toàn theo Oauth2 nên không cần trả về refresh token riêng.
@duynguyenvan12079 ай бұрын
Tiếp theo là gì thế bác? quá tuyệt vời
@DevteriaChannel9 ай бұрын
Bí mật nha bạn, chờ hồi sau sẽ rõ :))
@duynguyenvan12079 ай бұрын
Quá tuyệt vời
@lanhoang-ir6pr9 ай бұрын
B hướng dẫn Authorization nâng cao đi b.
@DevteriaChannel9 ай бұрын
Bạn xem lại các video trước mình cũng có hướng dẫn authorization đó bạn
@hieunguyen08019 ай бұрын
làm video về keycloak trong spring boot đi anh
@DevteriaChannel9 ай бұрын
Thấy nhiều bạn cũng quan tâm đến keycloak, mình sẽ cân nhắc topic này, thanks bạn.
@Tempest7743 ай бұрын
vậy tính năng remember me hd ra sao với token a, hay dùng session cookie cho nó?
@DevteriaChannel3 ай бұрын
Bản thân token nó đã có thời hạn em có thể kết hợp thêm Refresh token. Restful API thường được dùng ở SPA như React, Angular … và nó sẽ không dùng cookie mà thường keep token ở local storage nhé. Anh có video integrate với React đó em có thể xem thêm.
@TienPham-ou1wl9 ай бұрын
Cho em hỏi vậy nếu muốn sử dụng refresh-token được gửi lên để trả về một token mới và lưu token cũ vào trong bảng InvalidateToken thì làm sao vậy anh.
@DevteriaChannel9 ай бұрын
Em cứ dùng token mới tiếp tục gọi api refresh thôi e.
@hahachannel73239 ай бұрын
a ơi, phần security này a còn ra tiếp video nào không ạ
@DevteriaChannel9 ай бұрын
Sắp tới anh sẽ làm thêm về Oauth2 để integrate với system của mình.
@khanhtranphuc51939 ай бұрын
anh ơi thế cho em hỏi làm sao để phía frontend tính toán thời gian token sắp hết và khi lấy được token thì thường lưu trữ ở đâu vậy ạ
@DevteriaChannel9 ай бұрын
FE sẽ dựa vào expiredat của token để xác định xem khi nào sẽ refresh. Còn lưu trữ thì thường sẽ lưu vào local storage của FE.
@khanhtranphuc51939 ай бұрын
@@DevteriaChannel nay em có gọi api token lúc đăng nhập thì nếu đúng thì nó ok không log ra gì ở trình duyệt cả, nhưng nếu sai thì nó sẽ ra cái error log ghi lỗi 401. Cái đó là nó đúng như vậy hay có cách nào để nó không log như vậy ko ạ
@DevteriaChannel9 ай бұрын
Nếu gặp 401 thì sẽ redirect về trang login nhé.
@DevteriaChannel9 ай бұрын
@@khanhtranphuc5193 có thể được em chỉ cần xử lý trong GlobalExceptionHandler. Tuy nhiên đó không phải là practice tốt. 401 là Http code tiêu chuẩn, mình nên follow theo.
@khanhtranphuc51939 ай бұрын
@@DevteriaChannel em cảm ơn ạ
@kendyapollo51617 ай бұрын
e đang có 1 vấn đề là làm thế nào để bắt lỗi của JwtException vậy ạ. E đã handling exception rồi nhưng dường như nó không bắt được. E cũng đã thêm AuthenticationEntryPoint thì quả thật trả về như ý muốn nhưng console của ứng dụng vẫn lỗi JwtException. Hiện tại thì em không biết thế nào ạ
@DevteriaChannel7 ай бұрын
JwtException nó xảy ra ở filter nên không bắt được bằng GlobalExceptionHandler nha em
@AnB522 ай бұрын
bạn thay JwtException bằng BadJwtException nha
@NGUYỄNNGỌCSỸ-g8r6 ай бұрын
anh có docs nào về spring boot đầy đủ và hay không ạ
@DevteriaChannel6 ай бұрын
Doc chính chủ của Spring là đầy đủ nhất nhé: docs.spring.io/spring-framework/reference/index.html
@ntk999996 ай бұрын
anh ơi cho em hỏi là giả dụ em cho là thời hạn của access token còn sống là khoảng 20 phút thì em sẽ new một access token mới em có thắc mắc là khi mình new cái access token mới đó thì cái access token cũ nó còn hiệu lực 20 phút thì mình vẫn có thể sử dụng nó để login các kiểu được không ạ.
@DevteriaChannel6 ай бұрын
Đúng rồi em. Đối với project này khi issue một token mới thì token cũ vẫn sử dụng được
@ntk999996 ай бұрын
@@DevteriaChannel dạ vâng em cảm ơn a nhiều ạ
@nguyenbui70339 ай бұрын
Do em cũng chưa có ứng dụng, nên thắc mắc là FE sẽ tự check ở phía client rồi tự đưa ra quyết định sẽ refresh token hay như nào vậy anh.
@DevteriaChannel9 ай бұрын
Đúng rồi em, FE sẽ tự quyết định, BE chỉ cung cấp capability.
@nguyenbui70339 ай бұрын
@@DevteriaChannel dạ em cũng vừa mới tham khảo comment của anh trả lời bạn phía dưới rồi ạ 😂
@DungNguyen-ro2jq9 ай бұрын
Em đặt lại thời gian token là 15s ngay sau khi login, 15s sau token này hết hạn em đưa vào refreshToken thì hiện lỗi 401 mặc dù em đặt Author là No Type r là sao anh nhỉ? A giải thích giúp em được không ạ!
@DevteriaChannel9 ай бұрын
Đó là vì refresh token lúc này có expire Time bằng với token, em xem video phần 2 của refresh token sẽ rõ: kzbin.info/www/bejne/n5q2f62iqdqeps0