Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
InvalidNameForAdditionalClaim
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu tên của thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim>
của phần tử <AdditionalClaims>
là một trong các tên đã đăng ký sau đây:
"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
Các xác nhận quyền sở hữu đã được đăng ký được nêu rõ trong RFC7519.
Ví dụ: việc sử dụng tên thông báo xác nhận quyền sở hữu iss
trong phần tử <AdditionalClaims>
sẽ gây ra lỗi này.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên xác nhận quyền sở hữu trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên xác nhận quyền sở hữu làiss
:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Xác minh rằng tên thông báo xác nhận quyền sở hữu dùng trong phần tử
<AdditionalClaims>
trong XML của chính sách JWT không thành công khớp với tên thông báo xác nhận quyền sở hữu được nêu trong thông báo lỗi ở Bước 1. Ví dụ: chính sách sau đây chỉ định thông báo xác nhận quyền sở hữu làiss
, khớp với nội dung trong thông báo lỗi:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Nếu tên thông báo xác nhận quyền sở hữu dùng trong phần tử con
<Claim>
của phần tử<AdditionalClaims>
là một trong những tên đã đăng ký sau:"kid", "iss", "sub", "aud", "iat", "exp", "nbf", "jti"
thì đó chính là nguyên nhân gây ra lỗi.
Trong ví dụ về Xác minh chính sách JWT nêu trên, tên
<Claim>
được chỉ định làiss
trong phần tử<AdditionalClaims>
, dẫn đến lỗi:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Độ phân giải
Đừng dùng tên đã đăng ký "kid", "iss", "sub", "aud", "iat", "exp", "nbf" hoặc "jti" trong phần tử con <Claim>
của phần tử <AdditionalClaims>
.
Để khắc phục vấn đề của chính sách Xác minh JWT mẫu, hãy đổi tên thông báo xác nhận quyền sở hữu thành status
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
InvalidTypeForAdditionalClaim
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Loại thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim>
thuộc phần tử <AdditionalClaims>
của chính sách VerifyJWT không thuộc một trong các loại sau:
string
(mặc định), number
, boolean
hoặc map
Ví dụ: việc sử dụng loại thông báo xác nhận quyền sở hữu integer
trong phần tử <AdditionalClaims>
sẽ dẫn đến lỗi.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT, tên và loại xác nhận quyền sở hữu trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
, tên xác nhận quyền sở hữu làclaim
và loại làinteger:
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Xác minh rằng tên và loại xác nhận quyền sở hữu được dùng trong phần tử
<AdditionalClaims>
trong XML của chính sách JWT không thành công khớp với tên và loại xác nhận quyền sở hữu được xác định trong thông báo lỗi ở Bước 1. Ví dụ: chính sách sau đây chỉ định thông báo xác nhận quyền sở hữu làclaim
và loại làinteger
, khớp với nội dung trong thông báo lỗi:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Nếu loại thông báo xác nhận quyền sở hữu dùng trong phần tử con
<Claim>
của phần tử<AdditionalClaims>
không thuộc một trong các loại sau đây:string
(mặc định),number
,boolean
hoặcmap
thì đó chính là nguyên nhân gây ra lỗi.
Trong ví dụ Xác minh chính sách JWT nêu trên, loại
<Claim>
được chỉ định làinteger
trong phần tử<AdditionalClaims>
. Vìinteger
không phải là loại được hỗ trợ nên bạn sẽ gặp lỗi:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Độ phân giải
Đảm bảo rằng chỉ sử dụng các loại dữ liệu được hỗ trợ string
(mặc định), number
, boolean
hoặc map
trong phần tử con <Claim>
của phần tử <AdditionalClaims>
.
Để sửa ví dụ về chính sách Xác minh JWT, hãy thay đổi loại xác nhận quyền sở hữu thành boolean
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
MissingNameForAdditionalClaim
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Thông báo lỗi mẫu
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu tên của thông báo xác nhận quyền sở hữu không được chỉ định trong phần tử con <Claim>
của phần tử <AdditionalClaims>
hoặc <AdditionalHeaders>
.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Kiểm tra XML của chính sách JWT không thành công và xác minh rằng tên thông báo xác nhận quyền sở hữu bị thiếu trong phần tử con
<Claims>
trong phần tử<AdditionalClaims>
hoặc<AdditionalHeaders>
. Ví dụ: chính sách Xác minh JWT sau đây không chỉ định tên thông báo xác nhận quyền sở hữu trong phần tử<AdditionalClaims>
:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Vì tên
<Claim>
không được chỉ định trong phần tử<AdditionalClaims>
, nên bạn sẽ gặp lỗi:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Độ phân giải
Đảm bảo luôn chỉ định tên của thông báo xác nhận quyền sở hữu trong phần tử con <Claim>
của phần tử <AdditionalClaims>
hoặc <AdditionalHeaders>
.
Để sửa ví dụ về chính sách Xác minh JWT, hãy chỉ định tên xác nhận quyền sở hữu như minh hoạ dưới đây:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
InvalidNameForAdditionalHeader
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu tên của thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim>
của phần tử <AdditionalHeaders>
là một trong các tiêu đề JWT chuẩn sau đây:
alg
hoặc typ
Ví dụ: việc sử dụng tên thông báo xác nhận quyền sở hữu alg
trong phần tử <AdditionalHeaders>
sẽ gây ra lỗi.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên tiêu đề trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên tiêu đề làalg
:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Xác minh rằng tên tiêu đề dùng trong phần tử con
<Claim>
trong phần tử<AdditionalHeaders>
trong tệp XML của chính sách JWT không thành công khớp với tên tiêu đề được xác định trong thông báo lỗi ở Bước 1. Ví dụ: Chính sách sau đây chỉ định tiêu đề làalg
, khớp với nội dung trong thông báo lỗi:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Nếu tên tiêu đề dùng trong phần tử con
<Claim>
của phần tử<AdditionalClaims>
là một trong những tiêu đề JWT chuẩn sau đây:alg
hoặctyp
thì đó chính là nguyên nhân gây ra lỗi.
Trong ví dụ về Xác minh chính sách JWT nêu trên, tên
<Claim>
được chỉ định làalg
trong phần tử<AdditionalClaims>
, dẫn đến lỗi:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Độ phân giải
Đừng dùng các tiêu đề JWT chuẩn alg
hoặc typ
trong phần tử con <Claim>
của phần tử <AdditionalHeaders>
.
Để sửa ví dụ về Xác minh chính sách JWT, hãy sử dụng tên x5c
trong phần tử con <Claim>
của phần tử <AdditionalHeaders>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
InvalidTypeForAdditionalHeader
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi sẽ xảy ra nếu loại thông báo xác nhận quyền sở hữu dùng trong phần tử con <Claim>
thuộc phần tử <AdditionalHeaders>
của chính sách Xác minh JWT không thuộc một trong các loại sau đây:
string
(mặc định), number
, boolean
hoặc map
Ví dụ: việc sử dụng loại thông báo xác nhận quyền sở hữu integer
trong phần tử <AdditionalHeaders>
sẽ gây ra lỗi.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT, tên và loại xác nhận quyền sở hữu trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
, tên của thông báo xác nhận quyền sở hữu làclaim
và loại làinteger
:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Xác minh rằng tên và loại xác nhận quyền sở hữu được dùng trong phần tử
<AdditionalClaims>
trong XML của chính sách JWT không thành công khớp với tên và loại xác nhận quyền sở hữu được xác định trong thông báo lỗi ở Bước 1. Ví dụ: chính sách sau đây chỉ định thông báo xác nhận quyền sở hữu làclaim
và loại thông báo xác nhận quyền sở hữu làinteger,
khớp với nội dung trong thông báo lỗi:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Nếu loại thông báo xác nhận quyền sở hữu dùng trong phần tử con
<Claim>
của phần tử<AdditionalHeaders>
không thuộc một trong các loại sau đây:string
(mặc định),number
,boolean
hoặcmap
thì đó chính là nguyên nhân gây ra lỗi.
Trong ví dụ về Xác minh chính sách JWT nêu trên, loại
<Claim>
trong phần tử<AdditionalHeaders>
được chỉ định làinteger
. Vìinteger
không phải là loại được hỗ trợ nên bạn sẽ gặp lỗi:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Độ phân giải
Đảm bảo rằng bạn chỉ sử dụng các loại dữ liệu được hỗ trợ string
, number
, boolean
hoặc map
trong phần tử con <Claim>
của phần tử <AdditionalHeaders>
.
Để sửa ví dụ về chính sách Xác minh JWT, hãy thay đổi loại xác nhận quyền sở hữu thành boolean
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
InvalidValueOfArrayAttribute
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu giá trị của thuộc tính mảng trong phần tử con <Claim>
của phần tử <AdditionalClaims>
hoặc <AdditionalHeaders>
chưa được đặt thành true
hoặc false
.
Ví dụ: việc đặt giá trị của thuộc tính mảng là yes
trong phần tử con <Claim>
của phần tử <AdditionalClaims>
hoặc <AdditionalHeaders>
gây ra lỗi.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên xác nhận quyền sở hữu trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên thông báo xác nhận quyền sở hữu làclaim
:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Xác minh rằng tên thông báo xác nhận quyền sở hữu dùng trong phần tử con
<Claim>
thuộc phần tử<AdditionalHeaders>
trong XML của chính sách JWT không thành công khớp với tên thông báo xác nhận quyền sở hữu được nêu trong thông báo lỗi ở Bước 1. Ví dụ: chính sách sau đây chỉ định tên thông báo xác nhận quyền sở hữu làclaim
, khớp với tên trong thông báo lỗi:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Nếu bạn không đặt giá trị của thuộc tính
array
trong phần tử con<Claim>
của phần tử<AdditionalClaims>
thànhtrue
hoặcfalse
, thì đó chính là nguyên nhân gây ra lỗi.Vì thuộc tính
array
trong phần tử con<Claim>
của phần tử<AdditionalClaims>
được đặt thànhyes
trong ví dụ trên nên bạn sẽ gặp lỗi:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Độ phân giải
Đảm bảo rằng giá trị của thuộc tính mảng trong phần tử con <Claim>
của các phần tử <AdditionalClaims>
hoặc <AdditionalHeaders>
được đặt thành true
hoặc false
.
Để sửa ví dụ Xác minh chính sách JWT nêu trên, hãy thay đổi giá trị của thuộc tính mảng thành true
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
InvalidValueForElement
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Thông báo lỗi mẫu
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu giá trị được chỉ định trong phần tử <Algorithm>
không phải là một trong các giá trị sau:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Ví dụ: việc chỉ định giá trị thuật toán là RS128
trong phần tử <Algorithm>
sẽ dẫn đến lỗi này.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên phần tử trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên phần tử làAlgorithm
:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Kiểm tra XML của chính sách JWT không thành công và kiểm tra giá trị được chỉ định cho phần tử
<Algorithm>
.Dưới đây là ví dụ về chính sách Xác minh JWT:
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</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> </VerifyJWT>
Kiểm tra giá trị được chỉ định trong phần tử
<Algorithm>
. Nếu nó không phải là một trong những giá trị sau:HS256
,HS384
,HS512
,RS256
,RS384
,RS512
thì đó chính là nguyên nhân gây ra lỗi.
Trong ví dụ về Xác minh chính sách JWT ở trên, tên
<Algorithm>
được chỉ định làHS128
. Vì đây không phải là thuật toán được hỗ trợ nên bạn sẽ gặp lỗi:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Độ phân giải
Đảm bảo giá trị được chỉ định trong phần tử <Algorithm>
là một trong các giá trị được hỗ trợ:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Để sửa ví dụ Xác minh chính sách JWT nêu trên (bằng cách sử dụng phần tử <SecretKey>
), hãy thay đổi giá trị của <Algorithm>
thành HS25
. Lưu ý: Khi sử dụng phần tử <SecretKey>
, bạn chỉ có thể dùng thuật toán Gia đình HS.
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
MissingConfigurationElement
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Thông báo lỗi mẫu
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra khi phần tử <PublicKey>
không được sử dụng với thuật toán Nhóm RSA trong chính sách Xác minh JWT. Tương tự, lỗi có thể xảy ra nếu phần tử <SecretKey>
không được sử dụng với thuật toán Nhóm HS trong chính sách Xác minh JWT.
Ví dụ: việc không sử dụng phần tử <PublicKey>
với thuật toán RSA Family sẽ dẫn đến lỗi này.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên phần tử bị thiếu trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên phần tử bị thiếu làPublicKey
:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Kiểm tra XML của chính sách JWT không thành công và xác minh rằng phần tử được chỉ ra trong thông báo lỗi bị thiếu. Nếu mã này bị thiếu thì đó là nguyên nhân gây ra lỗi.
Ví dụ: chính sách sau đây cho biết
PublicKey
bị thiếu vàAlgorithm
được sử dụng làRS256
:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</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> </VerifyJWT>
Ví dụ về chính sách Xác minh JWT sử dụng thuật toán Gia đình HS, nhưng phần tử bắt buộc
PublicKey
bị thiếu, dẫn đến lỗi:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Độ phân giải
Đảm bảo rằng phần tử <PublicKey>
bắt buộc được sử dụng với các thuật toán Gia đình RSA và phần tử <SecretKey>
bắt buộc được sử dụng với các thuật toán Gia đình HS.
Để sửa ví dụ về chính sách Xác minh JWT nêu trên (bằng thuật toán RS256) ở trên, hãy thêm phần tử <PublicKey>
vào chính sách VerifyJWT:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</VerifyJWT>
InvalidKeyConfiguration
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu phần tử con <Value>
hoặc phần tử con bắt buộc <JWKS>
không được xác định trong các phần tử <PublicKey>
hoặc <SecretKey>
của chính sách Xác minh JWT.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
:Invalid Key configuration : policy(JWT-Verify-RS256).
Kiểm tra XML của chính sách JWT không thành công và xác minh xem phần tử con
<Value>
hoặc phần tử con<JWKS>
có không được xác định trong các phần tử<PublicKey>
hoặc<SecretKey>
hay không. Nếu bạn không xác định được phần tử con, thì đó chính là nguyên nhân gây ra lỗi.Ví dụ: chính sách sau đây cho thấy phần tử con
<Value>
hoặc<JWKS>
không được xác định trong phần tử<PublicKey>
:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <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> </VerifyJWT>
Vì phần tử con
<Value>
hoặc<JWKS>
không được xác định trong phần tử<PublicKey>
của chính sách Xác minh JWT, nên bạn sẽ gặp lỗi:Invalid Key configuration : policy(JWT-Verify-RS256).
Độ phân giải
Đảm bảo rằng phần tử con <Value>
hoặc <JWKS>
luôn được xác định trong phần tử <PublicKey>
của chính sách Xác minh JWT.
Để sửa ví dụ về chính sách Xác minh JWT, hãy xác định phần tử con <Value>
hoặc <JWKS>
trong phần tử <PublicKey>
như minh hoạ dưới đây:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</PublicJWT>
EmptyElementForKeyConfiguration
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu thuộc tính tham chiếu trong phần tử con <Value>
hoặc <JWKS>
của phần tử <PublicKey>
không được chỉ định hoặc để trống.
Ví dụ: nếu phần tử con <Value>
của phần tử <PublicKey>
trống thì lỗi sẽ xảy ra.
Chẩn đoán
Xác định tên của chính sách Verify JWT và tên phần tử bị để trống trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên phần tử làPublicKey/Value
:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Kiểm tra XML của chính sách JWT không thành công và xác minh rằng phần tử xác định trong Bước 1 bị trống. Nếu phần này trống, thì đó là nguyên nhân gây ra lỗi.
Ví dụ: chính sách sau đây cho thấy phần tử con
<Value>
của phần tử<PublicKey>
bị trống:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <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> </VerifyJWT>
Vì phần tử con
<Value>
của phần tử<PublicKey>
của chính sách Xác minh JWT đang trống, nên bạn sẽ gặp lỗi:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Độ phân giải
Đảm bảo rằng bạn luôn chỉ định thuộc tính tham chiếu trong phần tử con <Value>
hoặc <JWKS>
của phần tử <PublicKey>
.
Để sửa ví dụ về Xác minh chính sách JWT, hãy sử dụng biến luồng public.publickey
trong phần tử con <Value>
của phần tử <PublicKey>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</VerifyJWT>
InvalidConfigurationForVerify
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Thông báo lỗi mẫu
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu phần tử <Id>
được xác định trong phần tử <SecretKey>
của chính sách VerifyJWT.
Ví dụ: lỗi này sẽ xảy ra nếu phần tử <Id>
được xác định trong phần tử <SecretKey>
.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên phần tử không hợp lệ trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên phần tử làSecretKey/Id
:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Kiểm tra XML của chính sách JWT không thành công và xác minh rằng phần tử không hợp lệ xác định trong Bước 1 đã được xác định. Nếu chỉ định được xác định thì đó chính là nguyên nhân gây ra lỗi.
Ví dụ: chính sách sau đây cho thấy phần tử con
<Id>
của phần tử<SecretKey>
đã được xác định:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <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> </VerifyJWT>
Vì phần tử
<Id>
được định nghĩa trong phần tử<SecretKey>
của chính sách Verify JWT (Xác minh JWT), nên bạn sẽ gặp lỗi:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Độ phân giải
Đảm bảo không bao giờ xác định phần tử <Id>
trong phần tử <SecretKey>
của chính sách Verify JWT.
Để sửa ví dụ về Xác minh chính sách JWT, hãy xoá phần tử con <Id>
khỏi phần tử <SecretKey>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</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>
</VerifyJWT>
InvalidEmptyElement
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Thông báo lỗi mẫu
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu phần tử <Source>
của chính sách Xác minh JWT bị trống. Nếu có, bạn phải xác định biến này bằng tên biến Luồng biên.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên phần tử trống trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và tên phần tử làPublicKey/Value
:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Kiểm tra XML của chính sách JWT không thành công và xác minh rằng phần tử xác định trong Bước 1 bị trống. Nếu phần này trống, thì đó là nguyên nhân gây ra lỗi.
Ví dụ: chính sách sau đây cho thấy phần tử
<Source>
bị trống:<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <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> </VerifyJWT>
Vì phần tử
<Source>
của chính sách Verify JWT trống nên bạn sẽ gặp lỗi:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Độ phân giải
Nếu có phần tử <Source>
của chính sách Xác minh JWT, hãy đảm bảo rằng phần tử này chỉ định một biến luồng.
Để sửa ví dụ về Xác minh chính sách JWT, hãy sử dụng một biến luồng hợp lệ trong phần tử <Source>
:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<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>
</VerifyJWT>
InvalidPublicKeyValue
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Thông báo lỗi mẫu
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu giá trị được dùng trong phần tử con <JWKS>
của phần tử <PublicKey>
không có định dạng hợp lệ như được chỉ định trong RFC 7517.
Ví dụ: việc sử dụng abc
làm giá trị của phần tử con <JWKS>
trong phần tử <PublicKey>
sẽ gây ra lỗi này.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT và tên phần tử chứa giá trị không hợp lệ trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-RS256
và phần tử làPublicKey/JWKS
:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Kiểm tra XML của chính sách JWT không thành công và xác minh rằng phần tử xác định được ở Bước 1 chứa giá trị ở định dạng hợp lệ theo RFC 7517. Nếu giá trị của phần tử không có định dạng hợp lệ, thì đó là nguyên nhân gây ra lỗi.
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>
Vì giá trị trong phần tử con
<JWKS>
của phần tử<PublicKey>
không có định dạng hợp lệ theo RFC 7517, nên bạn gặp lỗi:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Độ phân giải
Đảm bảo giá trị được chỉ định trong phần tử con <JWKS>
của phần tử <PublicKey>
là một chuỗi hoặc biến luồng hợp lệ ở định dạng JWKS hợp lệ (RFC 7517).
Để sửa ví dụ về chính sách Xác minh chính sách JWT, hãy thay đổi giá trị của <JWKS>
như minh hoạ dưới đây:
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
Thông báo lỗi
Không triển khai được proxy API thông qua giao diện người dùng Edge hoặc API quản lý Edge với thông báo lỗi sau:
Error Saving Revision <var>revision_number</var>
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>).
Thông báo lỗi mẫu
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Ảnh chụp màn hình mẫu
Trong giao diện người dùng Edge, bạn sẽ thấy một hộp thoại có lỗi:
Nguyên nhân
Lỗi này xảy ra nếu phần tử <PublicKey>
được sử dụng với thuật toán Gia đình HS và phần tử <SecretKey>
được sử dụng với thuật toán Gia đình RSA. Lỗi cũng sẽ xảy ra nếu một trong các điều kiện này đúng.
Ví dụ: việc sử dụng phần tử <PublicKey>
với thuật toán HS Family sẽ dẫn đến lỗi này.
Chẩn đoán
Xác định tên của chính sách Xác minh JWT, tên phần tử và tên nhóm thuật toán trong thông báo lỗi. Ví dụ: trong thông báo lỗi sau đây, tên của chính sách Xác minh JWT là
JWT-Verify-HS256
, tên phần tử làPublicKey
và nhóm thuật toán làRSA
:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Xác minh rằng phần tử và nhóm thuật toán được sử dụng trong XML của chính sách JWT không thành công khớp với phần tử và nhóm thuật toán được xác định trong thông báo lỗi ở Bước 1. Ví dụ: chính sách sau đây chỉ định phần tử là
PublicKey
và nhóm thuật toán làHMAC
, khớp với nội dung trong thông báo lỗi<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <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> </VerifyJWT>
Nếu giá trị của phần tử
<Algorithm>
làHS256
, nhưng bạn đã sử dụng<PublicKey>
thì đó chính là nguyên nhân gây ra lỗi.Trong ví dụ Xác minh chính sách JWT ở trên, phần tử
<PublicKey>
được sử dụng mặc dù<Algorithm>
được đặt thành thuật toán gia đình HS256, dẫn đến lỗi:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Độ phân giải
Đảm bảo chỉ sử dụng phần tử <PublicKey>
với thuật toán Gia đình RSA và phần tử <SecretKey>
chỉ được sử dụng với thuật toán Gia đình HS.
Để sửa ví dụ về chính sách Xác minh JWT, hãy sử dụng <SecretKey>
trong chính sách VerifyJWT sử dụng thuật toán HS256:
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<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>
</VerifyJWT>