Tôi đang lưu trữ vai trò người dùng bên trong JWT (để hạn chế điểm cuối API). Vai trò có thể được thay đổi bởi quản trị viên.Yêu cầu cập nhật/thay đổi vai trò (hoặc bất kỳ xác nhận quyền sở hữu nào khác) trong JWT
Nếu vai trò được thay đổi. Làm thế nào tôi phải phản ánh điều này bên trong tất cả các thẻ? Tôi đã nghĩ về một vài giải pháp:
Nếu tôi muốn sử dụng mã thông báo làm mới, người dùng sẽ phải đợi cho đến khi hết hạn mã thông báo truy cập.
Tôi có thể lưu bản ghi ID người dùng đã thay đổi và kiểm tra mọi yêu cầu, sau đó trả lại mã thông báo mới nếu người dùng đã bị thay đổi.
Có cách nào tiêu chuẩn để làm điều này không?
Bạn đang sử dụng gì để tạo JWT? IdentityServer? Openddict? – kg743
Hoặc: Đặt thời lượng mã thông báo ngắn. Yêu cầu người dùng làm lại khi danh tính của họ thay đổi. Sử dụng mã thông báo tham chiếu. Một tổng quan ngắn gọn về mã thông báo ref là ở đây https://leastprivilege.com/2015/11/25/reference-tokens-and-introspection/ Một hoop tinh thần tốt để nhảy qua là nghĩ đến khi bạn thay đổi nhóm người dùng trong Active Directory nó đòi hỏi một relogin. Nếu người dùng không, họ vẫn có cùng, cũ, nhóm. Nếu nó đủ tốt cho điều đó, nó sẽ đủ tốt cho bạn. Trừ khi bạn muốn một giải pháp thực sự không thân thiện với người dùng, nơi họ phải làm lại sau mỗi 5 giây. ;) – Mardoxx
@KevinGysberg Im sử dụng JwtSecurityTokenHandler từ System.Identity.Tokens. Nhưng tạo ra các thẻ không phải là vấn đề :) – tobbe