JWT 마이크로 서비스 감 권 실현
1864 단어 JWT마이크로 서비스 인증 권 을 실현 하 다.
JSON Web Token (JWT) 은 매우 가 벼 운 규범 이다.이 규범 은 우리 가 JWT 를 사용 하여 사용자 와 서버 사이 에서 안전 하고 신뢰 할 수 있 는 정 보 를 전달 할 수 있 도록 한다.하나의 JWT 는 실제 적 으로 하나의 문자열 로 세 부분 으로 구성 되 어 있 으 며 머리, 부하 와 서명 이다.
머리 (헤더)
머리 는 이 JWT 에 대한 가장 기본 적 인 정보, 예 를 들 어 그 유형 과 서명 에 사용 되 는 알고리즘 등 을 묘사 하 는데 사용 되 는데 이것 은 JSON 대상 으로 도 표 시 될 수 있다.
{"typ":"JWT","alg":"HS256"}
로드 (playload)
하중 은 유효한 정 보 를 저장 하 는 곳 이다.세 부분 포함:
(1) 표준 에 등 록 된 성명 (권장 하지만 강제 사용 하지 않 음)
iss: jwt
sub: jwt
aud: jwt
exp: jwt ,
nbf: , jwt .
iat: jwt
jti: jwt , token。
(2) 공공 성명
공공 성명 은 모든 정 보 를 추가 할 수 있 습 니 다. 일반적으로 사용자 의 관련 정보 나 다른 업무 에 필요 한 정 보 를 추가 할 수 있 습 니 다. 그러나 민감 한 정 보 를 추가 하 는 것 을 권장 하지 않 습 니 다. 이 부분 은 클 라 이언 트 에서 복호화 할 수 있 기 때 문 입 니 다.
(3) 개인 성명
개인 성명 은 공급 자 와 소비자 가 공동으로 정의 하 는 성명 으로 민감 한 정 보 를 저장 하 는 것 을 권장 하지 않 습 니 다. base 64 는 대칭 적 으로 복호화 되 어 이 부분 정 보 를 명문 정보 로 분류 할 수 있 음 을 의미 하기 때 문 입 니 다.
이것 은 사용자 정의 claim 을 가리킨다.예 를 들 어 앞의 그 구조 예 에서 admin 과 name 은 모두 자체 적 인 claim 에 속한다.이러한 클 레 임 과 JWT 표준 에 규정된 클 레 임 의 차 이 는 JWT 가 규정 한 클 레 임 이다. JWT 의 수신 자 는 JWT 를 받 은 후에 이런 기준의 클 레 임 을 어떻게 검증 하 는 지 알 고 있다 (검증 할 수 있 을 지 아직 모른다).반면 private clams 는 수신 자 에 게 이러한 claim 에 대해 검증 과 규칙 을 명 확 히 알려 주지 않 는 한 검증 하지 않 는 다.payload 정의:
{"sub":"1234567890","name":"John Doe","admin":true}
비자 (서명)
jwt 의 세 번 째 부분 은 비자 정보 입 니 다. 이 비자 정 보 는 세 부분 으로 구성 되 어 있 습 니 다.
header (base64 )
payload (base64 )
secret
secret 는 서버 에 저 장 된 것 입 니 다. jwt 의 서명 생 성 도 서버 에 있 습 니 다. secret 는 jwt 의 서명 과 jwt 의 검증 을 하 는 데 사 용 됩 니 다. 그래서 이것 은 바로 서버 의 비밀 키 입 니 다. 그 어떠한 장면 에서 도 나타 나 서 는 안 됩 니 다.클 라 이언 트 가 이 시 크 릿 을 알 게 되면 클 라 이언 트 가 jwt 에 서명 할 수 있다 는 것 을 의미한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHP-JWT 라이브러리를 사용하여 Auth0 웹 응용 프로그램 만들기(이것은 로그인 버튼의 링크가 된다) response_type=code client_id = DJjstTQAtZsX2mF1WucvC0925YTrNDol (Auth0의 Applications 설정에서 얻을 수 있습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.