🔥 Tùy biến JWT Token trong ASP.NET Core Identity, lúc này Claims mới thực sự quyền lực

Công nghệ - 13/10/2025 09:36:06

Không có mô tả văn bản thay thế cho ảnh này

Nếu bạn đang xây dựng một Web API hoặc Microservices sử dụng ASP.NET Core Identity để xác thực (Authentication) và ủy quyền (Authorization) với JWT (JSON Web Token), bạn chắc chắn đã biết rằng Token không chỉ là một chuỗi ký tự ma thuật. Nó là một "hộ chiếu điện tử" chứa các Claims—thông tin định danh và quyền hạn của người dùng.

Mục tiêu cốt lõi của việc tùy biến Claims là để giảm thiểu việc gọi database (DB) trong mỗi Request (stateless architecture) và chuyển logic ủy quyền từ tầng Business lên thẳng tầng Authorization.

Trong ASP.NET Core Identity, cách tiếp cận chính xác và được khuyến nghị (best practice) để thêm hoặc sửa đổi Claims vào ClaimsPrincipal (và từ đó vào JWT) là triển khai Interface IUserClaimsPrincipalFactory<TUser>.

Best Practice:
- Chỉ thêm Claims "thiết yếu": Không bao giờ nhét quá nhiều dữ liệu vào JWT. JWT Token được gửi trong mọi Request, nếu nó quá lớn (> 4KB) sẽ gây lãng phí băng thông và làm chậm hiệu suất API.
- Sử dụng IClaimsTransformation (cho client): Nếu bạn cần thêm Claims chỉ để dùng trong Authorization Policy và không cần chúng hiển thị trong JWT Token (giảm kích thước), hãy sử dụng IClaimsTransformation. Tuy nhiên, IUserClaimsPrincipalFactory là tối ưu nhất cho việc sinh Claims ban đầu vào Token
- Quản lý Refresh Token: JWT Access Token nên có thời gian sống ngắn (15-30 phút) để tăng cường bảo mật. Hãy xây dựng thêm Refresh Token để người dùng không cần đăng nhập lại, đây là giải pháp tối ưu cho trải nghiệm người dùng và bảo mật.

Việc tùy biến JWT Claims là một bước đi quan trọng để chuyển từ Authentication sang Authorization hiệu quả, đặc biệt trong kiến trúc Microservices hoặc các hệ thống đòi hỏi độ linh hoạt và hiệu năng cao.


dotnet aspnetcore jwt claims identity security softwarearchitecture microservices performance

Công nghệ - 19/08/2025 21:13:07

Tìm hiểu cách xây dựng hệ thống phát hiện ngôn ngữ ký hiệu theo thời gian thực bằng AI, sử dụng DETR để tăng cường khả năng tiếp cận và đổi mới. Kết nối lời nói và cử chỉ.

Công nghệ - 18/08/2025 13:38:25

Tối ưu hóa các hệ thống RAG bằng cách tận dụng siêu dữ liệu để truy xuất thông tin chính xác và nhanh chóng hơn, giải quyết các thách thức về dữ liệu dư thừa hoặc lỗi thời với công cụ LangExtract nguồn mở. Khám phá cách LangExtract sử dụng các mô hình ngôn ngữ tiên tiến để trích xuất và cấu trúc siêu dữ liệu, tạo ra một quy trình truy xuất hợp lý và hiệu quả.

Công nghệ - 01/08/2025 07:00:00

Gỡ lỗi LLM rất quan trọng vì quy trình làm việc của chúng phức tạp và liên quan đến nhiều phần như chuỗi, lời nhắc, API, công cụ, trình truy xuất, v.v.

Công nghệ - 19/06/2025 03:05:09

Code xong chạy được là chưa đủ – phải biết khi nào nó "chết" nữa chứ 😅

Bạn đang triển khai ứng dụng trên Kubernetes, Docker hay môi trường production nào? Và bạn từng "toát mồ hôi" vì service chết mà không ai báo?

Công nghệ - 16/07/2025 13:41:17

Bạn có bao giờ tự hỏi tại sao trang web của mình tải chậm, đặc biệt là trên các thiết bị di động? Rất có thể, thủ phạm chính là những hình ảnh chưa được tối ưu. May mắn thay, có một công cụ miễn phí và cực kỳ hữu ích có thể giúp bạn giải quyết vấn đề này: Responsive Image Linter – một tiện ích mở rộng trên Chrome. Video này sẽ giới thiệu chi tiết về công cụ này, giúp bạn xác định và tối ưu hóa các hình ảnh gây tốn hiệu năng trên trang web của mình.

Công nghệ - 27/06/2025 03:15:44

⏳ Chậm 3 giây – Mất 50% người dùng. Đó không còn là lý thuyết, đó là thực tế.

Công nghệ - 11/12/2025 15:05:29

[Góc chuyện nghề] bán account game để đi học nghệ - bạn dám không?

Làm nghề 20 năm, gặp nhiều sinh viên, nhưng chiều qua tôi khá bất ngờ với một cậu em tên Quang. Em Quang muốn theo nghề BA và mong muốn lương 20 triệu sau khi làm việc 1.5 năm tới 2 năm trong nghề.

Công nghệ - 22/09/2025 08:59:20

Dừng ngay việc dùng DateTime.Now trong APIs, đó là ổ lỗi tiềm ẩn trong hệ thống của bạn

⏱️ Tôi từng nghĩ DateTime.Now là một thứ vô hại, đơn giản và tiện lợi, cho đến khi gặp những vấn đề về múi giờ. Những lỗi "tưởng chừng nhỏ" này lại chính là nguồn cơn của sự thất vọng và tốn kém thời gian cho nhiều đội ngũ phát triển.

Công nghệ - 14/03/2025 04:30:32

💡Bạn muốn tăng tốc tìm kiếm toàn văn nhưng hạ tầng hạn chế? Lucene có thể là giải pháp bất ngờ! Bài viết tiết lộ cách nó vượt trội hơn SQL Server, tối ưu truy vấn và những ứng dụng thực tế đáng khám phá.