# Xác thực JWT (Node.js / NestJS) > Passport.js, JWT strategy, guards, bcrypt, refresh token, hết hạn token - 25 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Node.js / NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van.md) ## 1. JWT (JSON Web Token) là gì? **Câu trả lời** JWT là một tiêu chuẩn mở (RFC 7519) định nghĩa một định dạng nhỏ gọn và an toàn để truyền thông tin giữa các bên dưới dạng đối tượng JSON. Nó được ký số để đảm bảo tính toàn vẹn và có thể được mã hóa. JWT thường được dùng cho xác thực stateless trong các REST API vì chúng chứa tất cả thông tin cần thiết mà không cần phiên làm việc phía máy chủ. ## 2. Cấu trúc của một JWT như thế nào? **Câu trả lời** Một JWT gồm ba phần được phân tách bằng dấu chấm: Header (thuật toán ký và loại), Payload (claims/dữ liệu), và Signature (xác minh tính toàn vẹn). Mỗi phần được mã hóa Base64URL. Ví dụ: eyJhbGc.eyJzdWI.SflKxwRJ. Cấu trúc này cho phép truyền tải dữ liệu đồng thời đảm bảo dữ liệu không bị thay đổi. ## 3. Gói NestJS nào được sử dụng để xử lý JWT? **Câu trả lời** @nestjs/jwt cung cấp một lớp trừu tượng bao quanh gói jsonwebtoken để tạo điều kiện thuận lợi cho việc tạo và xác minh token JWT trong NestJS. Nó tích hợp với hệ thống module của NestJS thông qua JwtModule và cung cấp JwtService với các phương thức như sign(), signAsync(), verify() và verifyAsync(). Nó nên được kết hợp với @nestjs/passport để xác thực hoàn chỉnh. ## Còn 22 câu hỏi nữa - Vai trò của phương thức JwtService.sign() là gì? - Vai trò của phương thức JwtService.verify() là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Node.js / NestJS khác - [Kiến thức cơ bản về Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-fundamentals.md): 20 câu hỏi, Junior - [API lõi Node.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nodejs-core-apis.md): 25 câu hỏi, Junior - [Lập trình bất đồng bộ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/asynchronous-programming.md): 25 câu hỏi, Junior - [Cơ bản về Express.js](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/express-basics.md): 20 câu hỏi, Junior - [Nền tảng NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-fundamentals.md): 23 câu hỏi, Junior - [Thiết kế REST API](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/rest-api-design.md): 20 câu hỏi, Junior - [Validation và DTO](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/validation-dto.md): 20 câu hỏi, Junior - [Tài liệu API & Hợp đồng](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/api-documentation.md): 20 câu hỏi, Junior - [Xử lý lỗi](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/error-handling.md): 20 câu hỏi, Junior - [Kiểm thử đơn vị](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-unit.md): 20 câu hỏi, Junior - [Lập lịch tác vụ](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/scheduling-cron.md): 15 câu hỏi, Junior - [Module và DI trong NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/nestjs-modules-di.md): 20 câu hỏi, Mid-Level - [Cấu hình & Quản lý môi trường](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/configuration-environment.md): 20 câu hỏi, Mid-Level - [Phân quyền và RBAC](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authorization-rbac.md): 20 câu hỏi, Mid-Level - [Cơ sở dữ liệu với TypeORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/database-typeorm.md): 30 câu hỏi, Mid-Level - [Prisma ORM](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/prisma-orm.md): 25 câu hỏi, Mid-Level - [Middleware và Interceptor](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/middleware-interceptors.md): 20 câu hỏi, Mid-Level - [Tải lên tệp](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/file-upload.md): 15 câu hỏi, Mid-Level - [WebSockets](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/websockets.md): 20 câu hỏi, Mid-Level - [GraphQL với NestJS](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/graphql-basics.md): 25 câu hỏi, Mid-Level - [Kiểm thử End-to-End](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/testing-e2e.md): 20 câu hỏi, Mid-Level - [Caching với Redis](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/caching-redis.md): 20 câu hỏi, Mid-Level - [Hàng đợi với Bull](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/queues-bull.md): 20 câu hỏi, Mid-Level - [DevOps, Logging & CI/CD](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/logging-monitoring.md): 25 câu hỏi, Mid-Level - [Docker & Đóng gói container](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/docker-containerization.md): 25 câu hỏi, Mid-Level - [Microservices](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/microservices.md): 30 câu hỏi, Senior - [Các phương pháp bảo mật tốt nhất](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/security-best-practices.md): 25 câu hỏi, Senior - [Hiệu năng và triển khai Cloud](https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/performance-optimization.md): 30 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/node-nestjs/cau-hoi-phong-van/authentication-jwt