[16.0.0.4 and later]

Liberty에서 JWT(JSON Web Token) 이용

서버 구성에서 JWT 이용자 요소를 구성하고 애플리케이션에서 com.ibm.websphere.security.jwt.JwtConsumercom.ibm.websphere.security.jwt.JwtToken API를 구현하여 JWT(JSON Web Token) 토큰을 프로그래밍 방식으로 확인하고 구문 분석할 수 있습니다.

이 태스크 정보

JWT API에 대한 정보는 ${wlp.install.dir}/dev 디렉토리의 제품에 포함된 JWT(JSON Web Token) Java 문서 또는 API 문서를 참조하십시오.

프로시저

  1. server.xml 파일에서 jwt-1.0 기능을 추가하십시오.
    <featureManager>
        <feature>jwt-1.0</feature>
        ...
    </featureManager>
  2. jwtConsumer 요소를 수정하여 JWT 이용자를 구성하십시오.

    구성할 수 있는 jwtConsumer 속성에 대한 정보는 JWT 이용자(jwtConsumer)를 참조하십시오.

    jwt-1.0 기능을 추가하고 변경사항을 저장하는 경우, Liberty는 다음 기본 jwtConsumer 요소를 추가합니다.
    <jwtConsumer id="defaultJWTConsumer">
    </jwtConsumer>
    이 기본 구성에서 다음 값이 가정됩니다.
    • 소비된 JWT의 alg 헤더는 RS256입니다. signatureAlgorithm 속성에서 이 값을 구성할 수 있습니다.
    • JWT는 expnbfiat 청구의 5분 이내에 유효한 것으로 간주됩니다. clockSkew 속성에서 이 값을 구성할 수 있습니다.

    이 기본 jwtConsumer 요소를 재구성하거나 하나 이상의 기타 jwtConsumer 요소를 작성할 수 있습니다. 각 jwtConsumer 요소에는 id 속성으로 지정된 고유한 URL-안전 문자열이 있어야 합니다. ID가 누락된 경우 jwtConsumer가 처리되지 않습니다.

    RS256 및 X.509 인증서로 서명된 JWT 토큰의 경우 서명 확인 키를 찾을 수 있도록 trustStoreReftrustAliasName 속성을 구성해야 합니다.
    1. JWT 발행자의 X.509 인증서를 신뢰 저장소로 가져오십시오.
    2. jwtConsumer 요소에서 신뢰 저장소 ID 및 인증서 별명을 지정하십시오.
      <jwtConsumer id="defaultJWTConsumer" trustStoreRef="truststore_id" trustAliasName="certificate_alias">
      </jwtConsumer>
  3. 애플리케이션에서 com.ibm.websphere.security.jwt.JwtConsumercom.ibm.websphere.security.jwt.JwtToken API를 구현하여 JWT 토큰을 프로그래밍 방식으로 확인하고 구문 분석하십시오.

    자세한 정보는 JWT(JSON Web Token) Java 문서를 참조하십시오.

    1. JwtConsumer 오브젝트를 작성하십시오.
      구성 ID를 지정하지 않는 경우 오브젝트는 기본 jwtConsumer 구성과 관련됩니다.
      com.ibm.websphere.security.jwt.JwtConsumer jwtConsumer = JwtConsumer.create();
      구성 ID를 지정하는 경우 오브젝트는 지정된 ID가 있는 jwtConsumer 구성과 관련됩니다.
      com.ibm.websphere.security.jwt.JwtConsumer jwtConsumer = JwtConsumer.create("jwtConsumer_configuration_id");
    2. com.ibm.websphere.security.jwt.JwtToken API를 구현하여 JWT 토큰을 확인하고 구문 분석하십시오.
      JwtToken jwtToken = jwtConsumer.createJwt("Base64_encoded_JWT_token>");

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_sec_consume_jwt.html