# JWT และความปลอดภัยแบบ Stateless (Spring Boot) > ความปลอดภัยแบบ stateless ด้วย JWT การสร้างและตรวจสอบ token ตัวกรองความปลอดภัย refresh token - 20 คำถามสัมภาษณ์ - Senior - [คำถามสัมภาษณ์: Spring Boot](https://sharpskill.dev/th/technologies/spring-boot/interview-questions.md) ## 1. โครงสร้างของ JWT (JSON Web Token) เป็นอย่างไร? **คำตอบ** JWT ประกอบด้วยสามส่วนที่คั่นด้วยจุด: Header (อัลกอริทึมและประเภท), Payload (claims/ข้อมูล) และ Signature (การตรวจสอบความสมบูรณ์) แต่ละส่วนถูกเข้ารหัสด้วย Base64URL โครงสร้างนี้ช่วยให้ส่งข้อมูลระหว่างสองฝ่ายได้อย่างปลอดภัยและตรวจสอบได้ ## 2. JWT claim ใดที่แสดงถึงเจ้าของ (ผู้ใช้) ของ token? **คำตอบ** Claim 'sub' (subject) ระบุเจ้าของของ JWT ซึ่งโดยทั่วไปคือผู้ใช้ที่ผ่านการยืนยันตัวตน (เช่น user ID หรือ username) เป็น claim มาตรฐานที่กำหนดไว้ใน RFC 7519 claim มาตรฐานอื่น ๆ ได้แก่ 'iss' (issuer), 'exp' (expiration), 'iat' (issued at), 'aud' (audience) และ 'jti' (JWT ID) ## 3. ความแตกต่างหลักระหว่างอัลกอริทึมการเซ็น HMAC และ RSA สำหรับ JWT คืออะไร? **คำตอบ** HMAC (เช่น HS256) ใช้คีย์ลับแบบสมมาตรที่แชร์ร่วมกันในการเซ็นและตรวจสอบ ในขณะที่ RSA (เช่น RS256) ใช้คู่คีย์แบบอสมมาตร (คีย์ส่วนตัวสำหรับเซ็น คีย์สาธารณะสำหรับตรวจสอบ) RSA เหมาะกว่าเมื่อหลายบริการต้องตรวจสอบ token โดยไม่ต้องเข้าถึงคีย์ที่ใช้เซ็น เช่นในสถาปัตยกรรม microservices ## มีอีก 17 คำถาม - JWT claim ใดที่กำหนดวันหมดอายุของ token? - ไคลเอนต์ควรส่ง JWT ในคำขอ HTTP REST อย่างไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Spring Boot อื่นๆ - [Spring Core - IoC & DI](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-core-ioc-di.md): 22 คำถาม, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-auto-configuration.md): 20 คำถาม, Junior - [Spring Boot Starters](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-starters.md): 18 คำถาม, Junior - [Application Properties & YAML](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/application-properties-yml.md): 16 คำถาม, Junior - [การทำ Logging ด้วย SLF4J และ Logback](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/logging.md): 20 คำถาม, Junior - [Spring Boot DevTools](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-devtools.md): 15 คำถาม, Junior - [Spring MVC Basics](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-mvc-basics.md): 20 คำถาม, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-rest-controllers.md): 20 คำถาม, Mid-Level - [Request & Response Handling](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/request-response-handling.md): 20 คำถาม, Mid-Level - [การจัดการข้อยกเว้น](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/exception-handling.md): 25 คำถาม, Mid-Level - [Bean Validation](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/bean-validation.md): 25 คำถาม, Mid-Level - [พื้นฐาน Spring Data JPA](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-data-jpa-basics.md): 25 คำถาม, Mid-Level - [เอนทิตี JPA และความสัมพันธ์](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jpa-entities-relationships.md): 30 คำถาม, Mid-Level - [การสืบค้น JPA](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jpa-queries.md): 30 คำถาม, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-data-repositories.md): 25 คำถาม, Mid-Level - [พื้นฐาน Spring Security](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-security-basics.md): 25 คำถาม, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-actuator.md): 20 คำถาม, Mid-Level - [การทดสอบหน่วยด้วย JUnit และ Mockito](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/testing-junit-mockito.md): 30 คำถาม, Mid-Level - [การทดสอบ Spring Boot](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-testing.md): 30 คำถาม, Mid-Level - [Profiles และ Environment](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/profiles-environment.md): 20 คำถาม, Mid-Level - [RestTemplate และ WebClient](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/resttemplate-webclient.md): 24 คำถาม, Mid-Level - [Async และ Scheduling](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/async-scheduling.md): 25 คำถาม, Mid-Level - [Caching ด้วย Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/caching.md): 25 คำถาม, Mid-Level - [Spring WebFlux (Reactive)](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-webflux.md): 25 คำถาม, Mid-Level - [ทรานแซกชัน Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/transactions.md): 30 คำถาม, Senior - [การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/authentication-authorization.md): 30 คำถาม, Senior - [OAuth2 และ Authorization Server](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/oauth2-authorization-server.md): 20 คำถาม, Senior - [Spring Boot และ Docker](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-docker.md): 19 คำถาม, Senior - [Microservices ด้วย Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/microservices-basics.md): 25 คำถาม, Senior - [Spring Cloud Config](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-cloud-config.md): 19 คำถาม, Senior - [การเพิ่มประสิทธิภาพการทำงาน](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/performance-optimization.md): 30 คำถาม, Senior - [GraalVM Native Images](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/graalvm-native-images.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jwt-stateless-security