GenerateJWT 정책 배포 오류 문제 해결

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

InvalidNameForAdditionalClaim

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid name for additional claim : policy(policy_name) claim(claim_name).

오류 메시지 예시

Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <AdditionalClaims> 요소의 <Claim> 하위 요소에 사용된 클레임 이름이 다음 등록된 이름 중 하나일 때 발생합니다.

'kid', 'iss', 'sub', 'aud', 'iat', 'exp', 'nbf', 'jti'

등록된 클레임은 RFC7519에 지정되어 있습니다.

예를 들어 <AdditionalClaims> 요소 아래에서 iss 클레임 이름을 사용하면 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 클레임 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 클레임 이름은 iss입니다.

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    
  2. 실패한 JWT 생성 정책 XML의 <AdditionalClaims> 요소 아래에 사용된 클레임 이름이 오류 메시지에서 확인된 클레임 이름과 일치하는지 확인합니다(위의 1단계). 예를 들어 다음 정책은 클레임을 오류 메시지에 있는 내용과 일치하는 iss로 지정합니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name="iss"/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <AdditionalClaims> 요소의 <Claim> 하위 요소에 사용된 클레임 이름이 다음 등록된 이름 중 하나인 경우,

    'kid', 'iss', 'sub', 'aud', 'iat', 'exp', 'nbf', 'jti'

    이는 오류의 원인이 됩니다.

    위에 표시된 JWT 생성 정책 예시에서 <Claim> 이름은 <AdditionalClaims> 요소 아래에 iss로 지정되며, 오류를 일으킵니다.

    Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
    

해결 방법

<AdditionalClaims> 요소의 <Claim> 하위 요소에 등록된 이름인 'kid', 'iss', 'sub', 'aud', 'iat', 'exp', 'nbf', 'jti'을 사용하지 마세요.

위에 표시된 JWT 생성 정책 예시를 수정하려면 클레임 이름을 status로 변경합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

InvalidTypeForAdditionalClaim

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).

오류 메시지 예시

Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 GenerateJWT 정책의 <AdditionalClaims> 요소의 <Claim> 하위 요소에 사용된 클레임 유형이 다음 유형 중 하나가 아닐 때 발생합니다.

string(기본값), number, boolean, map

예를 들어 <AdditionalClaims> 요소 아래에서 integer 클레임 유형을 사용하면 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름, 클레임 이름, 클레임 유형을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256이고, 클레임 이름은 claim이며, 클레임 유형은 integer입니다.

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. 실패한 JWT 생성 정책 XML의 <AdditionalClaims> 요소 아래에 사용된 클레임 이름과 유형이 1단계 오류 메시지에서 확인된 클레임 이름 및 유형과 일치하는지 확인합니다. 예를 들어 다음 정책은 오류 메시지에 표시된 내용과 일치하도록 클레임을 claim으로 지정하고, 유형을 integer로 지정합니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <AdditionalClaims> 요소의 <Claim> 하위 요소에 사용된 클레임 유형이 다음 유형 중 하나가 아닌 경우,

    string(기본값), number, boolean, map

    이는 오류의 원인이 됩니다.

    위에 표시된 JWT 생성 정책 예시에서 <AdditionalClaims> 요소 아래의 <Claim> 유형은 integer로 지정됩니다. integer가 지원되는 유형이 아니므로 오류가 발생합니다.

    Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

해결 방법

string, number, boolean, map과 같은 지원되는 데이터 유형만 <AdditionalClaims> 요소의 <Claim> 하위 요소에 사용되는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 클레임 유형을 boolean으로 변경합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

MissingNameForAdditionalClaim

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.

오류 메시지 예시

Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 클레임 이름이 <AdditionalClaims> 또는 <AdditionalHeaders> 요소의 <Claim> 하위 요소에 지정되지 않은 경우에 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256입니다.

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 <AdditionalClaims> 또는 <AdditionalHeaders> 요소의 <Claims> 하위 요소에 클레임 이름이 누락되었는지 확인합니다. 예를 들어 다음 JWT 생성 정책은 <AdditionalClaims> 요소 아래에 클레임 이름을 지정하지 않습니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim ref='reqclaim' type='boolean'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    <Claim> 이름이 <AdditionalClaims> 요소 아래에 지정되지 않았기 때문에 오류가 발생합니다.

    Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
    

해결 방법

클레임 이름이 항상 <AdditionalClaims> 또는 <AdditionalHeaders> 요소의 <Claim> 하위 클레임에 지정되었는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 아래 표시된 것처럼 클레임 이름을 지정합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalClaims>
</GenerateJWT>

InvalidNameForAdditionalHeader

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid name for additional header : policy(policy_name)header(header_name).

오류 메시지 예시

Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <AdditionalHeaders> 요소의 <Claim> 하위 요소에 사용된 클레임 이름이 다음 표준 JWT 헤더 중 하나인 경우에 발생합니다.

alg 또는 typ

예를 들어 <AdditionalHeaders> 요소 아래에 alg 클레임 이름을 사용하면 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 헤더 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 헤더 이름은 alg입니다.

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    
  2. 실패한 JWT 생성 정책 XML에 있는 <AdditionalHeaders> 요소의 <Claim> 하위 요소에 사용된 헤더 이름이 1단계 오류 메시지에서 확인된 헤더 이름과 일치하는지 확인합니다. 예를 들어 다음 정책은 헤더를 오류 메시지에 있는 것과 일치하는 alg로 지정합니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name="alg"/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. <AdditionalClaims> 요소의 <Claim> 하위 요소에 사용된 헤더 이름이 다음 표준 JWT 헤더 중 하나인 경우,

    alg 또는 typ

    이는 오류의 원인이 됩니다.

    위에 표시된 JWT 생성 정책 예시에서 <Claim> 이름은 <AdditionalClaims> 요소 아래에 alg로 지정되며, 오류를 일으킵니다.

    Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
    

해결 방법

<AdditionalHeaders> 요소의 <Claim> 하위 요소에는 표준 JWT 헤더 alg 또는 typ를 사용하지 마세요.

위에 표시된 JWT 생성 정책 예시를 수정하려면 <AdditionalHeaders> 요소의 <Claim> 하위 요소에 x5c 이름을 사용하세요.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='x5c'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTypeForAdditionalHeader

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).

오류 메시지 예시

Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 GenerateJWT 정책의 <AdditionalHeaders> 요소에 해당하는 <Claim> 하위 요소에 사용되는 클레임 유형이 다음 유형 중 하나가 아닌 경우에 발생합니다.

string(기본값), number, boolean, map.

예를 들어 <AdditionalHeaders> 요소 아래에 integer 클레임 유형을 사용하면 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름, 클레임 이름, 클레임 유형을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256이고, 클레임 이름은 claim,이며, 클레임 유형은 integer:입니다.

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    
  2. 실패한 JWT 생성 정책 XML의 <AdditionalClaims> 요소 아래에 사용된 클레임 이름과 유형이 1단계 오류 메시지에서 확인된 클레임 이름 및 클레임 유형과 일치하는지 확인합니다. 예를 들어 다음 정책은 오류 메시지에 표시된 내용과 일치하도록 클레임을 claim으로 지정하고, 클레임 유형을 integer로 지정합니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalHeaders>
            <Claim name='claim' ref='reqclaim' type='integer'/>
        </AdditionalHeaders>
    </GenerateJWT>
    
  3. <AdditionalHeaders> 요소의 <Claim> 하위 요소에 사용된 클레임 유형이 다음 유형 중 하나가 아닌 경우,

    string(기본값), number, boolean, map

    이는 오류의 원인이 됩니다.

    위에 표시된 JWT 생성 정책 예시에서 <AdditionalHeaders> 요소 아래의 <Claim> 유형은 integer로 지정됩니다. integer가 지원되는 유형이 아니므로 오류가 발생합니다.

    Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
    

해결 방법

지원되는 유일한 데이터 유형인 string, number, boolean, map<AdditionalHeaders> 요소의 <Claim> 하위 요소에 사용되는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 클레임 유형을 boolean으로 변경합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='boolean'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueOfArrayAttribute

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid value for array attribute: policy(policy_name)claim(claim_name).

오류 메시지 예시

Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <AdditionalClaims> 또는 <AdditionalHeaders> 요소의 <Claim> 하위 요소에 있는 배열 속성의 값이 true 또는 false로 설정되지 않은 경우에 발생합니다.

예를 들어 <AdditionalClaims> 또는 <AdditionalHeaders><Claim> 하위 요소에서 배열 속성의 값을 yes로 설정하면 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 클레임 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 클레임 이름은 claim:입니다.

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    
  2. 실패한 JWT 생성 정책 XML에 있는 <AdditionalHeaders> 요소의 <Claim> 하위 요소에 사용된 클레임 이름이 1단계 오류 메시지에서 확인된 클레임 이름과 일치하는지 확인합니다. 예를 들어 다음 정책은 클레임 이름을 오류 메시지에 있는 내용과 일치하는 claim으로 지정합니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='yes'/>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <AdditionalClaims> 요소의 <Claim> 하위 요소에서 array 속성의 값이 true 또는 false로 설정되지 않았으면 이것이 오류의 원인입니다.

    위 예시에서 <AdditionalClaims> 요소의 <Claim> 하위 요소에 있는 array 속성이 yes로 설정된 경우 오류가 발생합니다.

    Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
    

해결 방법

<AdditionalClaims> 또는 <AdditionalHeaders><Claim> 하위 요소에 있는 배열 속성의 값이 true 또는 false로 설정되었는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 배열 속성의 값을 true로 변경합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidConfigurationForActionAndAlgorithm

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).

오류 메시지 예시

Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <PrivateKey> 요소가 HS 계열 알고리즘에 사용되고 <SecretKey> 요소가 RSA 계열 알고리즘에 사용될 경우에 발생합니다. 또한 이러한 조건 중 하나라도 true이면 오류가 발생합니다.

예를 들어 HS 계열 알고리즘에 <PrivateKey> 요소를 사용하면 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름, 요소 이름, 알고리즘 계열 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256, 요소 이름은 PrivateKey, 알고리즘 계열은 HMAC입니다.

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    
  2. 실패한 JWT 생성 정책 XML에 사용된 요소 및 알고리즘 계열이 1단계 오류 메시지에서 확인된 요소 및 알고리즘 계열과 일치하는지 확인합니다. 예를 들어 다음 정책은 오류 메시지와 일치하도록 요소를 PrivateKey로 지정하고 알고리즘 계열을 HMAC로 지정합니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <PrivateKey>
            <Password ref="private.privatekey-password"/>
    
        </PrivateKey>
            <ExpiresIn>1h</ExpiresIn>
            <Subject>monty-pythons-flying-circus</Subject>
            <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
            <Audience>fans</Audience>
            <Id/>
            <AdditionalClaims>
                <Claim name='claim' ref='reqclaim' type='string' array=tuu
        =/>
            </AdditionalClaims>
        </GenerateJWT>
    
  3. <Algorithm> 요소의 값이 HS256이지만 <PrivateKey>를 사용한 경우 이것이 오류의 원인입니다.

    위에 표시된 JWT 생성 정책 예시에서 <PrivateKey><PrivateKey>HS256 계열 알고리즘으로 설정되어 있더라도 사용되므로 오류가 발생합니다.

    Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
    

해결 방법

<PrivateKey> 요소가 RSA 계열 알고리즘에만 사용되고 <SecretKey> 요소가 HS 계열 알고리즘에만 사용되는지 확인합니다.

위에 표시된 JWT 생성 정책을 수정하려면 HS256 알고리즘을 사용하는 GenerateJWT 정책에서 <SecretKey>를 사용합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidValueForElement

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid Value for element : policy(policy_name) element(element_name).

오류 메시지 예시

Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <Algorithm> 요소에 지정된 값이 다음 값 중 하나가 아닌 경우에 발생합니다.

HS256, HS384, HS512, RS256, RS384, RS512

예를 들어 알고리즘 값을 <Algorithm> 요소에서 RS128로 지정하면 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 요소 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 요소 이름은 Algorithm.입니다.

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 <Algorithm> 요소에 지정된 값을 확인합니다.

    다음은 JWT 생성 정책 샘플입니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS128</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='status' type='string'>Development</Claim>
        </AdditionalClaims>
    </GenerateJWT>
    
  3. <Algorithm> 요소에 지정된 값을 검사합니다. 다음 값 중 하나가 아닌 경우,

    HS256, HS384, HS512, RS256, RS384, RS512

    이는 오류의 원인이 됩니다.

    위에 표시된 JWT 생성 정책 예시에서 <Algorithm> 이름은 HS128로 지정됩니다. 지원되는 알고리즘이 아니기 때문에 오류가 발생합니다.

    Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
    

해결 방법

<Algorithm> 요소에 지정된 값이 지원되는 값 중 하나인지 확인합니다.

HS256, HS384, HS512, RS256, RS384, RS512

위에 표시된 <SecretKey> 요소가 사용되는 JWT 생성 정책 예시를 수정하려면 <Algorithm>의 값을 HS25로 변경합니다. <SecretKey> 요소가 사용된 경우에는 HS 계열 알고리즘만 사용할 수 있습니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalClaims>
        <Claim name='status' type='string'>Development</Claim>
    </AdditionalClaims>
</GenerateJWT>

MissingConfigurationElement

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Missing configuration element : policy(policy_name) element(element_name).

오류 메시지 예시

Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 JWT 생성 정책에서 <PrivateKey> 요소가 RSA 계열 알고리즘과 함께 사용되지 않은 경우에 발생합니다. 마찬가지로 JWT 생성 정책에서 <SecretKey> 요소가 HS 계열 알고리즘과 함께 사용되지 않은 경우에도 이 오류가 발생합니다.

예를 들어 RSA 계열 알고리즘에 <PrivateKey> 요소를 사용하지 않으면 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 누락된 요소 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256이고 누락된 요소 이름은 SecretKey입니다.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 오류 메시지에 표시된 요소가 누락되었는지 확인합니다. 누락되었으면 이것이 오류의 원인입니다.

    예를 들어 다음 정책에서 SecretKey가 누락되었고 사용된 AlgorithmHS256입니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    JWT 생성 정책 예시에 HS 계열 알고리즘이 사용되지만, 필수 요소인 SecretKey가 누락되었기 때문에 오류가 발생합니다.

    Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
    

해결 방법

필수 <PrivateKey> 요소가 RSA 계열 알고리즘에 사용되었고 필수 <SecretKey> 요소가 HS 계열 알고리즘에 사용되었는지 확인합니다.

위에 표시된 HS256 알고리즘이 사용되는 JWT 생성 정책 예시를 수정하려면 JWT 생성 정책에 <SecretKey> 요소를 추가합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidKeyConfiguration

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 
Invalid Key configuration : policy(policy_name).

오류 메시지 예시

Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 필수 하위 요소 <Value>가 JWT 생성 정책의 <PrivateKey> 또는 <SecretKey> 요소에 정의되지 않은 경우에 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256입니다.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 <Value> 하위 요소가 <PrivateKey> 또는 <SecretKey> 요소에 정의되지 않았는지 확인합니다. <Value>가 정의되지 않았으면 이것이 오류의 원인입니다.

    예를 들어 다음 정책에서 <Value> 하위 요소는 <SecretKey> 요소에 정의되지 않았습니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    <Value> 하위 요소가 JWT 생성 정책의 <SecretKey> 요소에 정의되지 않았기 때문에 오류가 발생합니다.

    Invalid Key configuration : policy(JWT-Generate-HS256).
    

해결 방법

<Value> 하위 요소가 JWT 생성 정책의 <PrivateKey> 또는 <SecretKey> 요소에 항상 정의되는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 아래 표시된 것처럼 <SecretKey> 요소 아래에 <Value> 하위 요소를 정의합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

EmptyElementForKeyConfiguration

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Empty Element for Key Configuration : policy(policy_name) element(element_name).

오류 메시지 예시

Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <PrivateKey> 또는 <SecretKey> 요소의 <Value> 하위 요소에 있는 ref 속성이 지정되지 않았거나 비어 있을 때 발생합니다.

예를 들어 <SecretKey> 요소의 <Value> 하위 요소가 비어 있으면 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 빈 요소 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책의 이름은 JWT-Generate-HS256이고 빈 요소 이름은 SecretKey/Value입니다.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 1단계에서 확인한 요소가 비어 있는지 확인합니다. 비어 있으면 이것이 오류의 원인입니다.

    예를 들어 다음 정책은 <SecretKey> 요소의 <Value> 하위 요소가 비어 있는 것을 보여줍니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value/>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    JWT 생성 정책에서 <SecretKey> 요소의 <Value> 하위 요소가 비어 있기 때문에 오류가 발생합니다.

    Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

해결 방법

<PrivateKey> 또는 <SecretKey> 요소의 <Value> 하위 요소에 있는 ref 속성이 항상 지정되었고 'private.' 프리픽스를 포함하는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 <SecretKey> 요소의 <Value> 하위 요소에 private.privatekey 흐름 변수를 사용합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidVariableNameForSecret

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid variable name for secret : policy(policy_name) element(element_name).

오류 메시지 예시

Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

이 오류는 <PrivateKey> 또는 <SecretKey> 요소의 <Value> 하위 요소에 있는 ref 속성에 지정된 흐름 변수 이름에 비공개 프리픽스(private.)가 포함되지 않은 경우에 발생합니다.

예를 들면 다음과 같습니다.

<PrivateKey> 요소의 <Value> 하위 요소에 있는 ref 속성에서 흐름 변수 이름이 mykey로 지정된 경우 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 JWT 생성 정책의 이름과 변수 이름이 잘못된 요소의 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 요소 이름은 SecretKey/Value입니다.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 1단계에서 확인된 요소에 사용된 변수 이름을 확인합니다. 변수 이름에 private. 프리픽스가 없으면 이것이 오류의 원인입니다.

    예를 들어 다음 정책은 <SecretKey> 요소의 <Value> 하위 요소에 잘못된 변수 이름 mykey가 포함된 것을 보여줍니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value ref="mykey"/>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    JWT 생성 정책의 <SecretKey> 요소의 <Value> 하위 요소에 지정된 변수 이름에 private. 프리픽스가 포함되지 않기 때문에 이 오류가 발생합니다.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

해결 방법

<PrivateKey> 또는 <SecretKey> 요소의 <Value> 하위 요소에 ref 속성이 항상 지정되었고 private. 프리픽스를 포함하는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 <SecretKey> 요소의 <Value> 하위 요소에 private.privatekey 흐름 변수를 사용합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <ExpiresIn>1h</ExpiresIn>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidSecretInConfig

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).

오류 메시지 예시

Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

JWT 생성 정책에서 값(보안 비밀)이 다음 위치에 명시적으로 지정된 경우,

  • <PrivateKey> 요소의 <Value> 또는 <Password> 하위 요소 또는
  • <SecretKey> 요소의 <Value> 하위 요소

이 오류가 발생합니다.

예를 들어 보안 비밀이 <SecretKey> 요소의 <Value> 하위 요소에 abc로 명시적으로 지정된 경우 이 오류가 발생합니다.

진단

  1. 오류 메시지에서 보안 비밀이 명시적으로 지정된 JWT 생성 정책의 이름 및 요소 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 요소 이름은 SecretKey/Value입니다.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 1단계에서 확인된 요소에 보안 비밀이 명시적으로 지정되었는지 확인합니다. 명시적으로 지정된 경우 이것이 오류의 원인입니다.

    예를 들어 다음 정책은 보안 비밀이 <SecretKey> 요소의 <Value> 하위 요소에 명시적으로 지정된 것을 보여줍니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <SecretKey>
            <Value>abc</Value>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    JWT 생성 정책의 <SecretKey> 요소의 <Value> 하위 요소에 보안 비밀이 명시적으로 지정되었기 때문에 이 오류가 발생합니다.

    Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

해결 방법

<PrivateKey> 또는 <SecretKey> 요소의 <Value> 하위 요소에 값이 항상 흐름 변수로 지정되었는지 확인합니다.

위에 표시된 JWT 생성 정책 예시를 수정하려면 <SecretKey> 요소의 <Value> 하위 요소에 있는 ref 속성에 private.secretkey 흐름 변수를 사용합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>

InvalidTimeFormat

오류 메시지

Edge UI 또는 Edge Management API를 통한 API 프록시 배포가 실패하고 다음 오류 메시지가 표시됩니다.

Error Saving Revision 2
Invalid Time format: policy(policy_name) element(element_name).

오류 메시지 예시

Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).

예시 스크린샷

Edge UI에 오류가 있는 대화상자가 표시됩니다.

원인

<NotBefore> 요소에 지정된 값이 지원되는 형식 중 하나가 아니면 이 오류가 발생합니다.

sortable, RFC 1123, RFC 850, ANCI-C

예를 들어 <NotBefore>에 지정된 값이 지원되는 형식이 아닌 20-JUN-1990 08:03이면 이 오류가 발생합니다.

<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>

진단

  1. 오류 메시지에서 시간 형식이 잘못된 JWT 생성 정책의 이름과 요소 이름을 확인합니다. 예를 들어 다음 오류 메시지에서 JWT 생성 정책 이름은 JWT-Generate-HS256이고 요소 이름은 NotBefore입니다.

    Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
    
  2. 실패한 JWT 생성 정책 XML을 검사하고 1단계에서 확인된 요소에 사용된 시간 형식을 확인합니다. 요소에 다음과 같이 지원되는 형식이 사용되지 않는 경우,

    sortable, RFC 1123, RFC 850, ANCI-C

    이는 오류의 원인이 됩니다.

    예를 들어 다음 정책은 <NotBefore> 하위 요소에 지원되지 않는 시간 형식이 사용되는 것을 보여줍니다.

    <GenerateJWT name="JWT-Generate-HS256">
        <DisplayName>JWT Generate HS256</DisplayName>
        <Algorithm>HS256</Algorithm>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
        <ExpiresIn>1h</ExpiresIn>
        <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
        <SecretKey>
            <Value ref="private.secretkey"/>
            <Id>1918290</Id>
        </SecretKey>
        <Subject>monty-pythons-flying-circus</Subject>
        <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
        <Audience>fans</Audience>
        <Id/>
        <AdditionalClaims>
            <Claim name='claim' ref='reqclaim' type='string' array='true'/>
        </AdditionalClaims>
    </GenerateJWT>
    

    JWT 생성 정책의 <NotBefore> 요소에 지원되는 시간 형식이 사용되지 않기 때문에 이 오류가 발생합니다.

    Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
    

해결 방법

<NotBefore> 요소에 지정된 값에 지원되는 형식 중 하나가 사용되는지 확인합니다.

sortable, RFC 1123, RFC 850, ANCI-C

JWT 생성 정책 예시를 수정하려면 아래 표시된 것처럼 sortable 형식을 사용하도록 <NotBefore> 요소에서 날짜를 수정합니다.

<GenerateJWT name="JWT-Generate-HS256">
    <DisplayName>JWT Generate HS256</DisplayName>
    <Algorithm>HS256</Algorithm>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <ExpiresIn>1h</ExpiresIn>
    <NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
    <SecretKey>
        <Value ref="private.secretkey"/>
        <Id>1918290</Id>
    </SecretKey>
    <Subject>monty-pythons-flying-circus</Subject>
    <Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
    <Audience>fans</Audience>
    <Id/>
    <AdditionalHeaders>
        <Claim name='claim' ref='reqclaim' type='string' array='true'/>
    </AdditionalHeaders>
</GenerateJWT>