서버가 Token 기반 인증에서 'JWT 토큰'을 고객에게 보내는 방법을 알아보십시오. ---이 비디오는 https://stackoverflow.com/q/64350012/ 사용자가 'elvis'(https://stackoverflow.com/u/7516740/)에 의해 요청 된 질문과 https://stackoverflow.com/a/64350410/에 대한 질문을 기반으로합니다. https://stackoverflow.com/u/12867091/) 'Stack Overflow'웹 사이트. 이 훌륭한 사용자와 StackexChange 커뮤니티 덕분에 공헌에 감사드립니다. 대체 솔루션, 주제, 댓글, 개정 내역 등에 대한 대체 솔루션, 최신 업데이트/개발과 같은 원본 콘텐츠 및 더 자세한 내용은 이러한 링크를 방문하십시오. 예를 들어, 원래 제목은 다음과 같습니다. 서버가 JWT를 토큰 기반 인증에서 클라이언트에게 보낸 방법은 무엇입니까? 또한 CC BY-SA https://meta.stackexchange.com/help/licensing에 따라 라이센스가 부여 된 콘텐츠 (음악 제외) 원래 질문 게시물은 'CC Bysa 4.0'(https://creativecommons.org/licenses/by-sa/4.0/) 라이센스에 따라 라이센스가 부여되며, 원본 답변은 'CC Bee-sa 4.0'(CC Bee-sa 4.0)에 라이센스가 부여됩니다. https://creativecommons.org/licenses/by-sa/4.0/) 라이센스. 당신에게 어떤 것이 보이면, vlogize [at] gmail [dot] com에서 저를 보내 주시기 바랍니다. --- 최근 몇 년 동안 토큰 기반 승인에서 JWT 전송을 이해하면 인증의 환경이 발전했습니다. 개발자가 보안 문제를 더 잘 알게되면서 JWT (JSON Web Tokens)와 같은 기존 세션 기반 인증에서 토큰 기반 접근 방식으로 전환되었습니다. Java와 Spring에서 인증에 대해 배우고 있다면 서버가 JWT를 클라이언트로 어떻게 전달하는지 궁금 할 것입니다. 이 주제를 다루고 그 뒤에있는 역학을 명확히하자. 문제 : 기존 세션 기반 인증에서 토큰 기반 인증 이해 사용자는 일반적으로 사용자 이름과 비밀번호를 서버로 보내 세션을 만듭니다. 서버는 쿠키로 세션 ID를 다시 보냅니다 (예 : Set-Cookie : SessionId). 클라이언트는이 세션 ID를 사용하여 후속 요청을 인증합니다. 그러나 토큰 기반 인증을 통해 일반적으로 JWT를 다루고 있습니다. 사용자를 인증 한 후 서버가 JWT를 클라이언트로 다시 보내는 방법에 대한 일반적인 혼란이 발생합니다. 헤더로 전송됩니까? 그렇다면 어떻게 생겼습니까? 솔루션 : 서버가 클라이언트에게 JWTS를 보내는 방법 1 단계 : 인증 토큰 기반 인증 흐름에서 클라이언트의 첫 번째 단계는 서버에 자체적으로 인증하는 것입니다. 이것은 일반적으로 /사용자 /인증과 같은 전용 API 엔드 포인트를 통해 발생합니다. 그 방법은 다음과 같습니다. 클라이언트는 사용자 이름과 비밀번호를 서버로 보냅니다. 이 요청은 HTML 양식 또는 기본 인증과 같은 다양한 방법을 사용하여 수행 할 수 있습니다. 2 단계 : 토큰 생성 및 응답 서버가 사용자의 자격 증명을 확인하면 JWT를 생성합니다. 프로세스의 작동 방식은 다음과 같습니다. 서버는 JWT를 Set-Authorization : JWT와 같은 사용자 정의 헤더로 보내지 않습니다. 대신, 일반적으로 인증 요청의 응답 본문에서 JWT를 보냅니다. 클라이언트는이 JWT를 받고 일반적으로 로컬 스토리지에 저장합니다. 이 시점에서 중요한 보안 프로토콜은 클라이언트 스토리지에 사용자 이름과 비밀번호를 저장하지 않는 것이 좋습니다. 3 단계 : 후속 요청을 위해 JWT를 사용하여 클라이언트가 JWT를 가지고 있으므로이를 사용하여 보호 자원에 대한 후속 요청을 할 수 있습니다. 인증이 필요한 모든 요청에 대해 클라이언트는 다음과 같은 헤더의 헤더에서 토큰을 서버로 다시 보냅니다. [[이 텍스트 또는 코드 스 니펫을 공개하려면 비디오를 참조하십시오.] 토큰 사용 패턴은 사용자 이름 및 비밀번호와 같은 민감한 정보를 지속적으로 전송해야 할 필요성을 줄입니다. JWT 토큰 기반 인증 사용의 이점은 전통적인 방법에 비해 몇 가지 장점을 제공합니다. 보안 : 민감한 자격 증명을 피함으로써 토큰 만 전송되어 노출 위험을 줄입니다. 무국적자 : JWT는 자체 포함되어있어 서버가 세션 정보를 보유 할 필요가 없으므로 더 쉽게 확장 할 수 있습니다. 상호 운용성 : JWT는 다른 시스템과 도메인에서 사용될 수 있으므로 유연성이 더 높아질 수 있습니다. 결론 서버가 Token 기반 승인에서 고객에게 JWTS를 보내는 방법을 이해하는 것은 최신 웹 애플리케이션 개발에 중요합니다. 응답 본문에서 JWT를 수신하고 후속 요청에이를 활용하면 인증 프로세스의 보안 및 효율성을 모두 향상시킬 수 있습니다. Java와 Spring으로 여행을 계속하면서 이러한 원칙을 염두에 두어 강력하고 안전한 응용 프로그램을 구축하십시오. 아래의 의견에서 당신의 생각을 공유하거나 토큰 기반 인증에 대한 추가 질문을하십시오. 행복한 코딩!