Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.
InvalidNameForAdditionalClaim
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Name der Anforderung, die im untergeordneten Element <Claim>
des <AdditionalClaims>
-Elements verwendet wird, einer der folgenden registrierten Namen ist:
„kid“, „iss“, „sub“, „aud“, „iat“, „exp“, „nbf“, „jti“
Die registrierten Anforderungen sind in RFC 7519 angegeben.
Beispiel: Wenn Sie den Anforderungsnamen iss
unter dem <AdditionalClaims>
-Element verwenden, führt das zu diesem Fehler.
Diagnose
Identifizieren Sie in der Fehlermeldung den Namen der Verify JWT-Richtlinie und den Anforderungsnamen. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der Anforderungsnameiss
:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Prüfen Sie, ob der Anforderungsname, der in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinien unter dem
<AdditionalClaims>
-Element verwendet wird, mit dem in der Fehlermeldung angegebenen Anforderungsnamen übereinstimmt. Die folgende Richtlinie gibt beispielsweise die Anforderung alsiss
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Wenn der im untergeordneten Element
<Claim>
des Elements<AdditionalClaims>
verwendete Anforderungsname einer der folgenden registrierten Namen ist:„kid“, „iss“, „sub“, „aud“, „iat“, „exp“, „nbf“, „jti“
dann ist das die Ursache des Fehlers.
Im oben gezeigten Beispiel der Verify JWT-Richtlinie wird der Name
<Claim>
alsiss
unter dem Element<AdditionalClaims>
angegeben, was den Fehler verursacht:Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
Lösung
Verwenden Sie keinen der registrierten Namen "kid", "iss", "sub", "aud", "iat", "exp", "nbf" oder "jti" im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
.
Ändern Sie den Anforderungsnamen in status
, um das Problem in der beispielhaften Verify JWT-Richtlinie zu beheben:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Der Anforderungstyp, der im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
der VerifyJWT-Richtlinie verwendet wird, gehört nicht zu den folgenden Typen:
string
(Standard), number
, boolean
, oder map
Wird beispielsweise der Anforderungstyp integer
unter dem <AdditionalClaims>
-Element verwendet, führt dies zu einem Fehler.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie, den Anforderungsnamen und den Typ aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
, der Anforderungsnameclaim
und der Typinteger:
.Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Prüfen Sie, ob der Anforderungsname und -typ, die unter dem Element
<AdditionalClaims>
in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie verwendet werden, mit dem in der Fehlermeldung (Schritt 1) identifizierten Anforderungsnamen und -typ übereinstimmen. Die folgende Richtlinie gibt beispielsweise die Anforderung alsclaim
und den Typ alsinteger
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Der Anforderungstyp, der im untergeordneten Element
<Claim>
des<AdditionalClaims>
-Elements verwendet wird, ist keiner der folgenden Typen:string
(Standard),number
,boolean
, odermap
dann ist das die Ursache des Fehlers.
Im der obigen beispielhaft dargestellten Verify JWT-Richtlinie wird der Typ
<Claim>
unter dem Element<AdditionalClaims>
alsinteger
angegeben. Dainteger
kein unterstützter Typ ist, erhalten Sie folgende Fehlermeldung:Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
Lösung
Achten Sie darauf, dass nur die unterstützten Datentypen string
(Standard), number
, boolean
oder map
im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
verwendet werden.
Ändern Sie den Anforderungstyp in boolean
, um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
Beispiel für Fehlermeldung
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Name der Anforderung nicht im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
oder <AdditionalHeaders>
angegeben wird.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie in der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Prüfen Sie in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie, ob der Anforderungsname im untergeordneten Element
<Claims>
unter dem Element<AdditionalClaims>
oder<AdditionalHeaders>
fehlt. Die folgende Verify JWT-Richtlinie gibt beispielsweise nicht den Anforderungsnamen im<AdditionalClaims>
-Element an:<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>
Da der
<Claim>
-Name unter dem Element<AdditionalClaims>
nicht angegeben wird, erhalten Sie folgende Fehlermeldung:Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
Lösung
Der Name der Anforderung muss immer im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
oder <AdditionalHeaders>
angegeben werden.
Um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren, geben Sie den Anforderungsnamen folgendermaßen an:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Name der im untergeordneten Element <Claim>
des Elements <AdditionalHeaders>
verwendeten Anforderung einer der folgenden Standard-JWT-Header ist:
alg
oder typ
Beispiel: Wenn Sie den Anforderungsnamen alg
unter dem <AdditionalHeaders>
-Element verwenden, wird der Fehler verursacht.
Diagnose
Identifizieren Sie in der Fehlermeldung den Namen der Verify JWT-Richtlinie und den Namen des Headers. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der Header-Namealg
:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Prüfen Sie, ob der Header-Name im untergeordneten Element
<Claim>
unter dem<AdditionalHeaders>
-Element in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie mit dem in der Fehlermeldung angegebenen Header-Namen übereinstimmt. Die folgende Richtlinie gibt beispielsweise den Header alsalg
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Wenn der im untergeordneten Element
<Claim>
des Elements<AdditionalClaims>
verwendete Header-Name einer der folgenden Standard-JWT-Header ist:alg
odertyp
dann ist das die Ursache des Fehlers.
Im oben gezeigten Beispiel der Verify JWT-Richtlinie wird der Name
<Claim>
alsalg
unter dem Element<AdditionalClaims>
angegeben, was den Fehler verursacht:Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
Lösung
Verwenden Sie die Standard-JWT-Header alg
oder typ
nie im untergeordneten Element <Claim>
des Elements <AdditionalHeaders>
.
Um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren, verwenden Sie den Namen x5c
im untergeordneten Element <Claim>
des Elements <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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Der Fehler tritt auf, wenn der Anforderungstyp, der im untergeordneten Element <Claim>
des Elements <AdditionalHeaders>
der Verify JWT-Richtlinie verwendet wird, nicht zu den folgenden Typen gehört:
string
(Standard), number
, boolean
, oder map
Beispiel: Wenn Sie den Anforderungstyp integer
unter dem <AdditionalHeaders>
-Element verwenden, wird der Fehler verursacht.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie, den Anforderungsnamen und den Typ aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
, der Anforderungsnameclaim
und der Typinteger
.Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Prüfen Sie, ob der Anforderungsname und -typ, die unter dem Element
<AdditionalClaims>
in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie verwendet werden, mit dem in der Fehlermeldung (Schritt 1) identifizierten Anforderungsnamen und -typ übereinstimmen. Die folgende Richtlinie gibt beispielsweise die Anforderung alsclaim
und den Typ alsinteger,
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Der Anforderungstyp, der im untergeordneten Element
<Claim>
des<AdditionalHeaders>
-Elements verwendet wird, ist keiner der folgenden Typen:string
(Standard),number
,boolean
, odermap
dann ist das die Ursache des Fehlers.
In der obigen beispielhaften Verify JWT-Richtlinie ist für den Typ
<Claim>
unter dem Element<AdditionalHeaders>
der Wertinteger
angegeben. Dainteger
kein unterstützter Typ ist, erhalten Sie folgende Fehlermeldung:Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
Lösung
Achten Sie darauf, dass nur die unterstützten Datentypen string
, number
, boolean
oder map
im untergeordneten Element <Claim>
des Elements <AdditionalHeaders>
verwendet werden.
Ändern Sie den Anforderungstyp in boolean
, um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Wert des Arrayattributs im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
oder <AdditionalHeaders>
nicht auf true
oder false
festgelegt ist.
Beispielsweise wird ein Fehler verursacht, wenn der Arrayattributwert im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
oder <AdditionalHeaders>
als yes
festgelegt wird.
Diagnose
Identifizieren Sie in der Fehlermeldung den Namen der Verify JWT-Richtlinie und den Anforderungsnamen. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der Anforderungsnameclaim
:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Prüfen Sie, ob der Anforderungsname, der im untergeordneten Element
<Claim>
unter dem<AdditionalHeaders>
-Element in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie verwendet wird, mit dem in der Fehlermeldung identifizierten Anforderungsnamen übereinstimmt. Die folgende Richtlinie gibt beispielsweise den Anforderungsnamen alsclaim
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Wenn der Wert des Attributs
array
im untergeordneten Element<Claim>
des<AdditionalClaims>
-Elements nicht auftrue
oderfalse
festgelegt ist, ist dies die Fehlerursache.Da das Attribut
array
im untergeordneten Element<Claim>
des Elements<AdditionalClaims>
im obigen Beispiel aufyes
gesetzt ist, erhalten Sie folgende Fehlermeldung:Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
Lösung
Achten Sie darauf, dass der Wert des Arrayattributs im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
oder <AdditionalHeaders>
auf true
oder false
festgelegt ist.
Um den Fehler in der obigen beispielhaften Verify JWT-Richtlinie zu korrigieren, ändern Sie den Wert des Arrayattributs auf 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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der im Element <Algorithm>
angegebene Wert keinen der folgenden Werte enthält:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Wenn Sie beispielsweise den Algorithmuswert im Element <Algorithm>
als RS128
angeben, führt das zu diesem Fehler.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie und den Elementnamen aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der ElementnameAlgorithm
:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Prüfen Sie die XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie und den für das Element
<Algorithm>
angegebenen Wert.Hier ist ein Beispiel für eine Verify JWT-Richtlinie:
<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>
Prüfen Sie den im Element
<Algorithm>
angegebenen Wert. Ist dies nicht einer der WerteHS256
,HS384
,HS512
,RS256
,RS384
,RS512
dann ist das die Ursache des Fehlers.
In der obigen beispielhaften Verify JWT-Richtlinie ist der Name
<Algorithm>
alsHS128
angegeben. Da es sich nicht um einen unterstützten Algorithmus handelt, erhalten Sie folgende Fehlermeldung:Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
Lösung
Achten Sie darauf, dass der im Element <Algorithm>
angegebene Wert einer der unterstützten Werte ist:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
Um den Fehler in der obigen beispielhaften Verify JWT-Richtlinie, die das Element <SecretKey>
verwendet, zu korrigieren, ändern Sie den Wert von <Algorithm>
in HS25
. Hinweis: Bei Verwendung des Elements <SecretKey>
können Sie nur Algorithmen der HS-Familie verwenden.
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das Element <PublicKey>
nicht mit Algorithmen der RSA-Familie in der Verify JWT-Richtlinie verwendet wird. Ebenso kann der Fehler auftreten, wenn das Element <SecretKey>
nicht mit Algorithmen der HS-Familie in der Verify JWT-Richtlinie verwendet wird.
Wenn Sie beispielsweise nicht das <PublicKey>
-Element mit RSA-Familienalgorithmen verwenden, führt dies zu diesem Fehler.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie und den fehlenden Elementnamen aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der fehlende Elementname istPublicKey
:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie und prüfen Sie, ob das in der Fehlermeldung angegebene Element fehlt. Wenn es fehlt, ist dies die Ursache des Fehlers.
In der folgenden Richtlinie können Sie beispielsweise sehen, dass
PublicKey
fehlt und die verwendeteAlgorithm
RS256
ist:<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>
In der beispielhaften Verify JWT-Richtlinie werden Algorithmen der HS-Familie verwendet, aber das erforderliche Element
PublicKey
fehlt. Dies führt zum Fehler:Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
Lösung
Vergewissern Sie sich, dass das obligatorische <PublicKey>
-Element mit RSA-Algorithmen verwendet wird und das obligatorische <SecretKey>
-Element mit HS-Familienalgorithmen verwendet wird.
Fügen Sie der VerifyJWT-Richtlinie das Element <PublicKey>
hinzu, um den Fehler in der oben beispielhaft dargestellten Verify JWT-Richtlinie, die den RS256-Algorithmus verwendet, zu korrigieren:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das untergeordnete Element <Value>
oder das erforderliche untergeordnete Element <JWKS>
nicht in den Elementen <PublicKey>
oder <SecretKey>
der Verify JWT-Richtlinie definiert ist.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie in der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
:Invalid Key configuration : policy(JWT-Verify-RS256).
Untersuchen Sie die fehlgeschlagene Verify JWT-Richtlinien-XML-Datei und überprüfen Sie, ob das untergeordnete Element
<Value>
oder das untergeordnete Element<JWKS>
nicht in den Elementen<PublicKey>
oder<SecretKey>
definiert ist. Wenn das untergeordnete Element nicht definiert ist, ist dies die Fehlerursache.In der folgenden Richtlinie können Sie beispielsweise sehen, dass das untergeordnete Element
<Value>
oder<JWKS>
nicht im Element<PublicKey>
definiert ist:<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>
Da das untergeordnete Element
<Value>
oder<JWKS>
nicht im Element<PublicKey>
der Verify JWT-Richtlinie definiert ist, erhalten Sie diesen Fehler:Invalid Key configuration : policy(JWT-Verify-RS256).
Lösung
Das untergeordnete Element <Value>
oder <JWKS>
muss immer im Element <PublicKey>
der Verify JWT-Richtlinie definiert sein.
Um den Fehler in der obigen beispielhaften Verify JWT-Richtlinie zu korrigieren, definieren Sie das untergeordnete Element <Value>
oder <JWKS>
unter dem <PublicKey>
-Element:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das Attribut "ref" im untergeordneten Element <Value>
oder <JWKS>
des <PublicKey>
-Elements nicht angegeben oder leer ist.
Wenn beispielsweise das untergeordnete Element <Value>
des Elements <PublicKey>
leer ist, tritt der Fehler auf.
Diagnose
Ermitteln Sie aus der Fehlermeldung den Namen der Verify JWT-Richtlinie und den Elementnamen, der leer ist. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der ElementnamePublicKey/Value
:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie und prüfen Sie, ob das in Schritt 1 ermittelte Element leer ist. Wenn es leer ist, ist dies die Fehlerursache.
In der folgenden Richtlinie können Sie beispielsweise sehen, dass das untergeordnete Element
<Value>
des Elements<PublicKey>
leer ist:<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>
Da das untergeordnete Element
<Value>
des Elements<PublicKey>
der Verify JWT-Richtlinie leer ist, wird folgende Fehlermeldung angezeigt:Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
Lösung
Achten Sie darauf, dass das Attribut "ref" im untergeordneten Element <Value>
oder <JWKS>
des <PublicKey>
-Elements immer angegeben wird.
Um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren, setzen Sie die Ablaufvariable public.publickey
im untergeordneten Element <Value>
des Elements <PublicKey>
ein:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das Element <Id>
innerhalb des Elements <SecretKey>
einer VerifyJWT-Richtlinie definiert ist.
Wenn das Element <Id>
beispielsweise im Element <SecretKey>
definiert ist, tritt dieser Fehler auf.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie und den ungültigen Elementnamen aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der ElementnameSecretKey/Id
:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Untersuchen Sie die XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie und prüfen Sie, ob das in Schritt 1 identifizierte ungültige Element definiert ist. Wenn es definiert ist, ist dies die Ursache des Fehlers.
In der folgenden Richtlinie können Sie beispielsweise sehen, dass das untergeordnete Element
<Id>
des Elements<SecretKey>
definiert ist:<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>
Da das Element
<Id>
im Element<SecretKey>
der Verify JWT-Richtlinie definiert ist, erhalten Sie folgenden Fehler:Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
Lösung
Achten Sie darauf, dass das Element <Id>
nie im Element <SecretKey>
einer Verify JWT-Richtlinie definiert ist.
Um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren, entfernen Sie das untergeordnete Element <Id>
aus dem Element <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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das <Source>
-Element der Verify JWT-Richtlinie leer ist. Falls vorhanden, muss es mit einem Ablaufvariablennamen definiert werden.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie und den leeren Elementnamen aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und der ElementnamePublicKey/Value
:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie und prüfen Sie, ob das in Schritt 1 ermittelte Element leer ist. Wenn es leer ist, ist dies die Fehlerursache.
In der folgenden Richtlinie können Sie beispielsweise sehen, dass das Element
<Source>
leer ist:<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>
Da das Element
<Source>
der Verify JWT-Richtlinie leer ist, wird folgende Fehlermeldung angezeigt:Invalid empty element : policy(JWT-Verify-HS256) element(Source).
Lösung
Wenn das Element <Source>
einer Verify JWT-Richtlinie vorhanden ist, müssen Sie hierfür eine Ablaufvariable angeben.
Um den Fehler in der obigen beispielhaften Verify JWT-Richtlinie zu korrigieren, verwenden Sie eine gültige Ablaufvariable im Element <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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Wert, der im untergeordneten Element <JWKS>
des <PublicKey>
-Elements verwendet wird, nicht in einem gemäß RFC 7517 gültigen Format vorliegt.
Beispiel: Wenn Sie abc
als Wert des untergeordneten Elements <JWKS>
unter dem <PublicKey>
-Element verwenden, führt dies zu diesem Fehler.
Diagnose
Ermitteln Sie aus der Fehlermeldung den Namen der Verify JWT-Richtlinie und den Namen des Elements, das einen ungültigen Wert hat. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-RS256
und das ElementPublicKey/JWKS
:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie und prüfen Sie, ob das in Schritt 1 ermittelte Element einen Wert in einem gültigen Format gemäß RFC 7517 enthält. Wenn der Wert des Elements nicht im gültigen Format angegeben ist, ist dies die Ursache des Fehlers.
<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>
Da der Wert im untergeordneten Element
<JWKS>
des<PublicKey>
-Elements kein gültiges Format gemäß RFC 7517 vorweist, erhalten Sie eine Fehlermeldung:Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
Lösung
Der im untergeordneten Element <JWKS>
des Elements <PublicKey>
angegebene Wert muss ein gültiger String oder eine Ablaufvariable in einem gültigen JWKS-Format (RFC 7517) sein.
Um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren, ändern Sie den Wert von <JWKS>
wie unten dargestellt:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
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>).
Beispiel für Fehlermeldung
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Beispiel-Screenshot
In der Apigee-Benutzeroberfläche wird ein Dialog mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das Element <PublicKey>
mit HS-Familienalgorithmen und das <SecretKey>
-Element mit RSA-Familienalgorithmen verwendet wird. Der Fehler tritt auch auf, wenn eine dieser Bedingungen erfüllt ist.
Beispielsweise tritt dieser Fehler auf, wenn das Element <PublicKey>
mit HS-Family-Algorithmen verwendet wird.
Diagnose
Ermitteln Sie den Namen der Verify JWT-Richtlinie, den Elementnamen und den Familiennamen des Algorithmus aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Verify JWT-Richtlinie beispielsweise
JWT-Verify-HS256
, der ElementnamePublicKey
und die AlgorithmusfamilieRSA
:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Prüfen Sie, ob die in der XML-Datei der fehlgeschlagenen Verify JWT-Richtlinie verwendete Element- und Algorithmusfamilienkombination mit der in Schritt 1 in der Fehlermeldung angegebenen Element- und Algorithmusfamilienkombination übereinstimmen. Folgende Richtlinie gibt beispielsweise das Element als
PublicKey
und die Algorithmusfamilie alsHMAC
an, was mit der Fehlermeldung übereinstimmt:<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>
Wenn der Wert des Elements
<Algorithm>
HS256
lautet, Sie aber<PublicKey>
verwendet haben, ist dies die Ursache des Fehlers.In der obigen beispielhaften Verify JWT-Richtlinie wird das Element
<PublicKey>
verwendet, obwohl<Algorithm>
auf einen Algorithmus der HS256-Familie festgelegt ist. Dies verursacht den Fehler:Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
Lösung
Achten Sie darauf, dass das Element <PublicKey>
nur mit Algorithmen der RSA-Familie verwendet wird. Das Element <SecretKey>
wird nur mit Algorithmen der HS-Familie verwendet.
Um den Fehler in der beispielhaften Verify JWT-Richtlinie zu korrigieren, verwenden Sie <SecretKey>
aus der VerifyJWT-Richtlinie, die den HS256-Algorithmus verwendet:
<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>