JSON 웹 토큰 (JWT)은 다음을 인증하는 데 사용되는 개방형 웹 표준입니다. 클라이언트와 서버 간의 정보 교환을 승인합니다. 앱에서 먼저 해당 역할의 사용자 인증 정보로 로그인하면 서버는 후속 요청에 사용할 수 있도록 인코딩되고 디지털 서명된 JWT를 반환합니다. 이 프로세스는 사용자를 인증하고 경로에 액세스하도록 승인합니다. 리소스 및 서비스를 관리할 수 있습니다
신뢰도가 낮은 환경에서 API 메서드 호출 시 Fleet Engine에 적절한 서비스 계정으로 서명된 JSON 웹 토큰 (JWT) 사용 신뢰도가 낮은 환경에는 스마트폰과 브라우저가 포함됩니다. JWT 완전히 신뢰할 수 있는 환경인 서버에서 시작됩니다. JWT 서명되고 암호화되어 후속 서버를 위해 클라이언트에 전달됩니다. 만료되거나 더 이상 유효하지 않을 때까지 상호작용하지 않습니다. 서비스 계정 역할 목록은 Fleet Engine 기본사항의 Fleet Engine 서비스 계정 역할을 참고하세요.
반대로 백엔드는 Fleet Engine에 대해 인증 및 승인해야 합니다. 표준 애플리케이션 기본 사용자 인증 정보 사용 메커니즘을 제공합니다
API 키와 달리 JWT는 수명이 짧으며 역할이 수행할 권한이 있는지 확인합니다 JWT에 관한 자세한 내용은 위키백과에서 JSON 웹 토큰을 참고하세요. 액세스 역할에 대한 자세한 내용은 서비스 계정 역할을 참조하세요.
JWT 요소
JWT는 헤더와 클레임 섹션을 포함합니다. 헤더 섹션에는 서비스 계정에서 가져온 비공개 키, 암호화 알고리즘입니다. 클레임 섹션에는 JWT의 시간, TTL(수명), JWT에서 요구하는 서비스 생성 액세스 범위를 지정하기 위한 기타 승인 정보 대상: 배송 차량 ID를 예로 들 수 있습니다.
다음 표에는 일반적인 JWT 필드에 대한 상세한 설명이 나와 있습니다. 이러한 매개변수의 값을 찾을 수 있는 위치에 대한 구체적인 정보도 확인할 수 있습니다 Fleet Engine Cloud 프로젝트의 필드입니다.
필드 |
설명 |
---|---|
alg |
사용할 알고리즘입니다. `RS256` |
유형 |
토큰 유형입니다. `JWT`입니다. |
어린이 |
서비스 계정의 비공개 키 ID입니다. 이 값은
서비스 계정 JSON 파일의 |
필드 |
설명 |
---|---|
iss |
서비스 계정의 이메일 주소(
서비스 계정 JSON 파일의 |
sub |
서비스 계정의 이메일 주소(
서비스 계정 JSON 파일의 |
aud |
서비스 계정의 |
iat |
JWT가 생성된 타임스탬프로, 초 단위로 지정됩니다.
00:00:00 |
exp |
JWT가 만료될 때의 타임스탬프로, 경과 시간(초)으로 지정됩니다.
|
승인 |
사용 사례에 따라 taskids를 지정하는 경우 승인 범위는 다음 형식 중 하나의 배열이어야 합니다. "taskids": ["task_id_one","task_id_two"]
또는 "taskids": ["*"] |
Fleet Engine JWT 클레임
Fleet Engine은 비공개 클레임을 사용합니다. 비공개 클레임을 사용하면 자신의 데이터에 액세스할 수 있습니다.
예를 들어 서버가 드라이버의 모바일 애플리케이션에 대한 JSON 웹 토큰을 발급하는 경우
vehicleid
클레임 또는
해당 운전자의 차량 ID 값으로 deliveryvehicleid
클레임을 제기합니다. 그런 다음
운전자 역할에 따라 JWT를 사용하면 특정 차량에 대해서만 액세스를 사용 설정할 수 있음
다른 임의의 차량 ID가 아닌 ID
Fleet Engine은 다음과 같은 비공개 클레임을 사용합니다.
주문형 경로
-
vehicleid
: <ph type="x-smartling-placeholder">- </ph>
- Driver SDK는 경로 운행 여부와 상관없이 항상 이 클레임을 사용합니다. 또는 차량입니다. Fleet Engine 백엔드는 차량이 요청된 이동과 관련된 정보를 제공합니다.
- JWT는 차량과 이동을 모두 포함할 수 있습니다. 작업을 수행할 수 있으므로 JWT 서명이 간소화될 수 있습니다. 있습니다.
-
tripid
: <ph type="x-smartling-placeholder">- </ph>
- 소비자 SDK는 항상 이 소유권 주장을 사용합니다.
- JWT는 필요하지 않더라도 차량 및 이동 작업을 모두 처리할 수 있으므로 토큰 서명 구현을 간소화할 수 있습니다.
예약된 작업
-
deliveryvehicleid
배송 차량별로 전화를 걸 때 사용 API에 액세스할 수 있습니다
-
taskid
태스크별 API를 호출할 때 사용합니다.
-
taskids
통화할 때 사용
BatchCreateTasksAPI
이 클레임은 배열 형식이어야 하며 그리고 배열에는 합니다.delivervehicleid
는 포함하지 않습니다.trackingid
또는taskid
소유권 주장 -
trackingid
호출 시
GetTaskTrackingInfoAPI
소유권 주장은 요청의 추적 ID와 일치해야 합니다.delivervehicleid
는 포함하지 않습니다.taskid
또는taskids
소유권 주장
다음 단계
- 전체 내용을 이해하려면 Fleet Engine 보안 설계를 참고하세요. 인증 흐름을 제공합니다
- 서버에서 JSON 웹 토큰을 발행하는 방법을 알아보세요.