사용 봄 보안 OAuth2를 마이크로 JWT 보호 서비스

깊이있는 마이크로 서비스의 이해에서 알아
봄 보안 OAuth2를하고 JWT 방법을 사용하여, UAA 서비스는 한 번만 반환 JWT에 확인해야합니다. JWT는 권한 정보를 포함한 모든 정보를 사용자가 포함되어 반환 된
세 가지 측면에서 설명하기를 :

  • 자세한 JWT
  • 봄 보안 OAuth2를 마이크로 JWT 보호 서비스는 케이스 상세
  • 개요

JWT 소개

JWT 무엇입니까

JSON 웹 토큰 (JWT)는 개방형 표준 (RFC7517)이, JWT는 각각 바디 JSON 객체로 포장되도록 의도 된 정보 소형 급식 표준을 정의한다. 주 정보를 암호화하고 디지털 서명에 의해 인증된다. 종종, HMAC 알고리즘 또는 JWT, 높은 보안에 서명 RSA 알고리즘 (공개 / 개인 키 비대칭 암호화) 알고리즘을 JWT 특징 아래에 설명 사용 :

  • 컴팩트 (소형), 또한, 데이터 송신 수단의 소량 빠르게 요청 헤더 HTTP를 전송함으로써 상기 문자열이 암호화되기 때문에, JWT 데이터 량은 매우 작은 또는 POST 요청
  • 자 급식 (자체 포함)은 : JWT 때문에 서버의 부하를 줄일 수 UAA 서비스에 대한 각 요청의 ID를 확인해야 할 필요성을 피하기 위해, 모든 정보의 제목을 포함

JWT 구조

JWT 각각 세 부분, '.'분리 자, 다음과 같은 구성 요소로 구성.

  • 헤더 (헤드)
  • 페이로드 (페이로드)
  • 서명 (서명)
    그러므로 일반적으로 JWT를 포맷
xxxxxxxxxxx.yyyyyyy.zzzzzz

의이 세 가지 구성 요소를 설명하게

  1. 헤더
    헤더는 보통 두 부분으로 구성되며, 예컨대 HMAC, SHA256 및 RSA 등의 (즉 JWT) 토큰 및 알고리즘의 형태의 유형. 예를 들면 :
{
	"alg":"HS256"
	"typ":"JWT"
}

Base64로 같은 JWT 헤더는 상기 제 1 부분으로 인코딩
2. 페이
이것은 JWT의 두 번째 부분이며, 사용자 및 제 (제 명세서)의 일부 정보를 포함한다. 예약, 민간 및 공공 : 주장의 세 가지 유형이 있습니다. 전형적인 페이로드는 다음과 같습니다 :

{
"sub":"1234567890"
"name":"John Doe"
"admin":true
}

Base64로 JWT 같은 페이로드는 상기 제 2 부분으로 인코딩
3. 서명
다음, 서명 부분을 생성하기 위해 필요한 헤더 Base64 인코딩, 및 서명 키 페이 전형적인 형식 :

HMACSHA256(
	base64UrlEncode(header) + "." + 
	base64UrlEncode(payload),
	secret)

JWT 응용 프로그램 시나리오

JWT는 그것을 사용하는 경우? 다음과 같이 JWT 사용 시나리오는 다음과 같습니다

  • 인증 : 이것은 가장 일반적인 시나리오 JWT입니다. 성공적으로 인수 JWT 사용자가 로그인하면, 각 요청이 JWT를 수행 할 것 따릅니다. JWT는 JWT 때문에 약간의 오버 헤드, JWT 액세스 할 수있는 자원을 제어 할 수있는 JWT, 자원 서비스에 포함 된 정보에 따르면, 등 사용자 정보, 권한, 포인트를 포함하고, 서로 다른 도메인에 사용할 수있는 단일 사인온 (SSO) 그래서 JWT는 널리 사용되는 장면이다
  • 정보 교환 : JWT는 당사자 간의 서명 암호화를 사용하여 JWT는 보안이 매우 높은, 전송 정보에 대한 안전한 방법입니다. 또한, 서명 헤더 PayLoad 등을 산출하고, 또한 콘텐츠가 변경되었음을 검증 할 때

JWT를 사용하는 방법

인증하는 가장 일반적인 시나리오에서 살펴 보자
첫번째 식사 -

게시 29 개 원래 기사 · 원의 찬양 3 · 조회수 543

추천

출처blog.csdn.net/weixin_43404791/article/details/104649808