Tôi đã trải qua các tài liệu Oauth2 và nghĩ rằng đó là loại bảo mật khôn ngoan, vì vậy tôi đã cố gắng triển khai thẻ JWT với một sơ đồ đặc biệt như trong hình cho ứng dụng di động giao tiếp với API web.Xác thực và ủy quyền ứng dụng với JWT
Lưu ý: tôi không thích ý tưởng thẻ làm mới Oauth2 vì chúng có thể bị đánh cắp và cho phép sử dụng song song (bởi người dùng hợp pháp và độc hại) trừ khi bạn thực hiện phát hiện hành vi trộm cắp bằng cách xoay chúng (làm mới mã thông báo làm mới theo yêu cầu) trong trường hợp này họ ở tất cả?
Làm thế nào dòng chảy auth hoạt động:
- Một người sử dụng đăng nhập vào với các thông tin được một JWT 20 phút tuổi thọ.
- Khi hết hạn, jwt được làm mới bằng cách nhấn vào kiểm tra db nếu danh sách đen (relogin) và nếu không kiểm tra xem nó có được sử dụng để tạo mã thông báo mới hay không.
- Nếu nó không bao giờ được sử dụng để làm mới nó được chấp nhận và sử dụng để cấp một mã thông báo truy cập cấp thấp.
- Nếu mã thông báo được sử dụng trước đó hoặc có người dùng + thiết bị + người dùng khác với cha mẹ cung cấp séc xác thực (mật khẩu hoặc mã khóa)
- Nếu được thông qua, séc này sẽ phát hành mã thông báo cấp một mới. và trẻ em trên db, giống như đăng nhập người dùng đầu tiên mới.
- Nếu màn hình khóa không hiển thị người dùng với màn hình đăng nhập.
Các câu hỏi là:
- lỗ hổng bảo mật có thể là gì? (Tôi đã tìm thấy hai trường hợp sử dụng: mã thông báo truy cập hợp lệ bị mất cắp kéo dài 20 phút giống như mã thông báo Oauth. Không bị mất thẻ nào ở đây.Và mã thông báo bị đánh cắp: người dùng không đăng nhập trong 7 ngày, mã thông báo bị đánh cắp và sử dụng cho đến khi người dùng đăng nhập lại hoặc chuỗi mã thông báo được sửa lại sau 3 tháng kiên trì - chính sách của chúng tôi - và hành vi trộm cắp này có cơ hội nhỏ vì mã thông báo phải bị chặn theo yêu cầu cuối cùng mà người dùng thực hiện trên ứng dụng, mỏng hơn là ăn cắp mã thông báo làm mới Oauth2)
- Trải nghiệm người dùng là gì vấn đề một người thu hút có thể gây ra trên các ứng dụng trong khi trên chương trình này?
Trường hợp sử dụng của bạn: điện thoại bị đánh cắp sẽ khiến người dùng độc hại nắm giữ tất cả các ứng dụng đăng nhập liên tục và mạo danh bạn: facebook, google .... Vì vậy, lỗ này phổ biến tại sao có thu hồi thiết bị trên trang tổng quan ứng dụng. –