12.2. APIcast에서 JSON 웹 토큰을 처리하는 방법


APIcast는 API 소비자 애플리케이션을 인증할 때 OpenID Connect ID 공급자가 반환한 JSON Web Token (JWT)을 확인하여 각 요청을 처리합니다. 요청에는 통합 OpenID Connect ID 공급자가 발행한 형식으로 JWT가 포함됩니다. JWT는 Authorization 헤더에 있어야 하며 Bearer 스키마를 사용해야 합니다. 예를 들어 헤더는 다음과 같아야 합니다.

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2lkcC5leGFtcGxlLmNvbSIsInN1YiI6ImFiYzEyMyIsIm5iZiI6MTUzNzg5MjQ5NCwiZXhwIjoxNTM3ODk2MDk0LCJpYXQiOjE1Mzc4OTI0OTQsImp0aSI6ImlkMTIzNDU2IiwidHlwIjoiQmVhcmVyIn0.LM2PSmQ0k8mR7eDS_Z8iRdGta-Ea-pJRrf4C6bAiKz-Nzhxpm7fF7oV3BOipFmimwkQ_-mw3kN--oOc3vU1RE4FTCQGbzO1SAWHOZqG5ZUx5ugaASY-hUHIohy6PC7dQl0e2NlAeqqg4MuZtEwrpESJW-VnGdljrAS0HsXzd6nENM0Z_ofo4ZdTKvIKsk2KrdyVBOcjgVjYongtppR0cw30FwnpqfeCkuATeINN5OKHXOibRA24pQyIF1s81nnmxLnjnVbu24SFE34aMGRXYzs4icMI8sK65eKxbvwV3PIG3mM0C4ilZPO26doP0YrLfVwFcqEirmENUAcHXz7NuvA
Copy to Clipboard Toggle word wrap

JWT를 안전하게 디코딩하기 위한 여러 오픈 소스 도구가 있습니다. 공용 웹 도구에서 JWT를 디코딩하지 않도록 주의하십시오. 디코딩된 JWT에서는 토큰에 다음 세 가지 부분이 있음을 확인할 수 있습니다.

  • 헤더는 토큰이 형성된 방법과 토큰 서명에 사용된 알고리즘에 대한 정보를 제공합니다.
  • 페이로드는 요청을 보낸 API 소비자를 식별합니다. 세부 정보에는 이 API 소비자가 수행할 수 있는 읽기 및 쓰기 작업, API 소비자의 이메일 주소 및 API 소비자에 대한 기타 정보가 포함될 수 있습니다.
  • 서명은 토큰이 변경되지 않았음을 나타내는 암호화 서명입니다.

APIcast는 JWT에서 다음 특성을 확인합니다.

  • 무결성: JWT가 악의적인 사용자가 변경합니까? 서명이 유효합니까?

    JWT에는 토큰의 수신자가 토큰을 서명한 알려진 발행자가 확인할 수 있는 서명이 포함되어 있습니다. 또한 이 확인을 통해 해당 콘텐츠가 생성된 상태로 유지됩니다. 3scale은 공개/개인 키 쌍을 기반으로 RSA 서명을 지원합니다. 발행자는 개인 키를 사용하여 JWT에 서명합니다. APIcast는 공개 키를 사용하여 토큰을 확인합니다. APIcast는 JWT 서명을 확인하는 데 사용할 수 있는 JSON 웹 키(JWK)를 받기 위해 OpenID Connect Discovery 를 사용합니다.

  • timing: 토큰이 처리에 허용 가능한 시점보다 이후의 현재 시간입니까? JWT가 만료됩니까? 즉, APIcast는 JWT nbf (시간 전 아님)와 만료( expiration time) 클레임을 확인합니다.
  • issuer: APIcast에 알려진 OpenID Connect ID 공급자가 JWT에서 발행했습니까? 즉, APIcast는 JWT에 지정된 발행자가 OpenID Connect Issuer 필드에 구성된 API 공급자와 동일한 발급자인지 확인합니다. 발행자의 사양은 3scale 및 OpenID Connect ID 공급자를 통합하는 절차의 일부입니다. JWT 요청 입니다.
  • 클라이언트 ID: 토큰에는 APIcast에 알려진 3scale 클라이언트 애플리케이션 ID가 포함되어 있습니까? 이 클라이언트 ID는 3scale과 OpenID Connect ID 공급자를 통합하기 위해 지정된 API 공급자에 지정된 ClientID 토큰 클레임 과 일치해야 합니다. 이는 JWT azp ( JWT가 발행된 인증된 당사자)와 Aud (audience) 클레임입니다.

JWT 검증 또는 권한 부여 검사가 실패하면 APIcast에서 Authentication failed 오류를 반환합니다. 그렇지 않으면 APIcast가 3scale 업스트림 API 백엔드에 요청을 보냅니다. Authorization 헤더는 요청에 남아 있으므로 API 백엔드는 JWT를 사용하여 사용자 및 클라이언트 ID를 확인할 수도 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat