<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
InvalidNameForAdditionalClaim
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256) claim(iss).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld 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 RFC7519 spezifiziert.
Wenn Sie beispielsweise den Anforderungsnamen iss
unter dem Element <AdditionalClaims>
verwenden, führt dies zu diesem Fehler.
Diagnose
Geben Sie den Namen der Generate JWT-Richtlinie und den Namen der Anforderung aus der Fehlermeldung an. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie beispielsweise
JWT-Generate-HS256
und der Name der Anforderungiss
:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Überprüfen Sie, ob der Anforderungsname, der unter dem Element
<AdditionalClaims>
in der fehlgeschlagenen XML-Datei "Generate JWT-Richtlinie" verwendet wird, mit dem in der Fehlermeldung (Schritt 1 oben) identifizierten Anforderungsnamen übereinstimmt. Die folgende Richtlinie gibt beispielsweise die Anforderung alsiss
an, was dem Inhalt der Fehlermeldung entspricht:<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>
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 Generate JWT-Richtlinie wird der Name
<Claim>
alsiss
unter dem Element<AdditionalClaims>
angegeben, was den Fehler verursacht:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
Lösung
Verwenden Sie im registrierten Element keinen der registrierten Namen "kid", "iss", "sub", "aud", "iat", "exp", "nbf" oder "jti" im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
.
Wenn Sie die oben gezeigte Generate JWT-Richtlinie korrigieren möchten, ändern Sie den Anforderungsnamen auf 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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256) claim(claim) type(integer).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn die Art der Anforderung, die im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
der GenerateJWT-Richtlinie verwendet wird, keiner der folgenden Typen ist:
string
(Standard), number
, boolean
, oder map
Wird beispielsweise der Anforderungstyp integer
unter dem <AdditionalClaims>
-Element verwendet, führt dies zu einem Fehler.
Diagnose
Identifizieren Sie den Namen der Generate JWT-Richtlinie, den Anforderungsnamen und den Anforderungstyp aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie beispielsweise
JWT-Generate-HS256
, der Name der Anforderungclaim
und der Anforderungstypinteger
:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Überprüfen Sie, ob der Anforderungsname und -typ, die unter dem Element
<AdditionalClaims>
in der fehlgeschlagenen XML-Datei "Generate 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:<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>
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.
In der Beispielrichtlinie Generate JWT ist für den Typ
<Claim>
unter dem Element<AdditionalClaims>
der Wertinteger
angegeben. Dainteger
kein unterstützter Typ ist, erhalten Sie folgende Fehlermeldung:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
Lösung
Achten Sie darauf, dass nur unterstützte Datentypen wie string
, number
, boolean
oder map
im untergeordneten Element <Claim>
des <AdditionalClaims>
-Elements verwendet werden.
Wenn Sie die oben gezeigte Generate JWT-Richtlinie korrigieren möchten, ändern Sie den Anforderungstyp auf 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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld 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 Generate JWT-Richtlinie aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie zum Beispiel
JWT-Generate-HS256
:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Überprüfen Sie die fehlgeschlagene Generate JWT-Richtlinien-XML und prüfen Sie, ob der Name der Anforderung im untergeordneten Element
<Claims>
unter den Elementen<AdditionalClaims>
oder<AdditionalHeaders>
fehlt. Die folgende Generate JWT-Richtlinie gibt beispielsweise den Anforderungsnamen nicht unter dem Element<AdditionalClaims>
an:<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>
Da der
<Claim>
-Name unter dem Element<AdditionalClaims>
nicht angegeben wird, erhalten Sie folgende Fehlermeldung:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
Lösung
Vergewissern Sie sich, dass der Name der Anforderung immer im untergeordneten Element <Claim>
des Elements <AdditionalClaims>
oder <AdditionalHeaders>
angegeben wird.
Zur Korrektur des oben gezeigten Beispiels für eine Generate JWT-Richtlinie müssen Sie den Namen der Anforderung so angeben:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256) header(alg).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld 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 den Namen der Generate JWT-Richtlinie und den Header-Namen anhand der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie zum Beispiel
JWT-Generate-HS256
und der Header-Namealg
:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Überprüfen Sie, ob der Header-Name, der im untergeordneten Element
<Claim>
unter dem Element<AdditionalHeaders>
in der fehlgeschlagenen XML-Richtlinie "Generate JWT" verwendet wird, mit dem in der Fehlermeldung in Schritt 1 identifizierten Header-Namen übereinstimmt. Die folgende Richtlinie gibt beispielsweise den Header alsalg
an, was dem Inhalt der Fehlermeldung entspricht:<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>
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 Generate JWT-Richtlinie wird der Name
<Claim>
alsalg
unter dem Element<AdditionalClaims>
angegeben, was den Fehler verursacht:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
Lösung
Verwenden Sie die Standard-JWT-Header alg
oder typ
nie im untergeordneten <Claim>
-Element des <AdditionalHeaders>
-Elements.
Verwenden Sie den Namen x5c
im untergeordneten Element <Claim>
des Elements <AdditionalHeaders>
, um die oben gezeigte Richtlinie "Generate JWT" zu korrigieren:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256) claim(claim1) type(integer).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Der Fehler tritt auf, wenn der Anforderungstyp, der im untergeordneten Element <Claim>
des Elements <AdditionalHeaders>
der GenerateJWT-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
Identifizieren Sie den Namen der Generate JWT-Richtlinie, den Anforderungsnamen und den Anforderungstyp aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie beispielsweise
JWT-Generate-HS256
, der Name der Anforderungclaim,
und der Anforderungstypinteger:
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
Überprüfen Sie, ob der Anforderungsname und -typ, die unter dem Element
<AdditionalClaims>
in der fehlgeschlagenen XML-Datei "Generate 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:<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>
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 Beispielrichtlinie Generate JWT 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-Generate-HS256) 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 <AdditionalHeaders>
-Elements verwendet werden.
Wenn Sie die oben gezeigte Generate JWT-Richtlinie korrigieren möchten, ändern Sie den Anforderungstyp auf 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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256) claim(claim).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld 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.
Der Fehler tritt beispielsweise auf, wenn Sie den Wert des Arrayattributs im untergeordneten Element <Claim>
von <AdditionalClaims>
oder <AdditionalHeaders>
auf yes
festlegen.
Diagnose
Geben Sie den Namen der Generate JWT-Richtlinie und den Namen der Anforderung aus der Fehlermeldung an. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie beispielsweise
JWT-Generate-HS256
und der Name der Anforderungclaim:
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
Überprüfen Sie, ob der Anforderungsname, der im untergeordneten Element
<Claim>
unter dem Element<AdditionalHeaders>
in der fehlgeschlagenen XML-Richtlinie "Generate JWT" verwendet wird, mit dem in der Fehlermeldung in Schritt 1 identifizierten Anforderungsnamen übereinstimmt. Die folgende Richtlinie gibt beispielsweise den Anforderungsnamen alsclaim
an, was dem Inhalt der Fehlermeldung entspricht:<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>
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-Generate-HS256) claim(claim).
Lösung
Achten Sie darauf, dass der Wert des Arrayattributs im untergeordneten Element <Claim>
von <AdditionalClaims>
oder <AdditionalHeaders>
auf true
oder false
festgelegt ist.
Um die oben angezeigte Generate JWT-Richtlinie zu korrigieren, ändern Sie den Wert des Arrayattributs auf 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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
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>).
Beispiel für Fehlermeldung
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das Element <PrivateKey>
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 <PrivateKey>
mit HS-Family-Algorithmen verwendet wird.
Diagnose
Identifizieren Sie den Namen der Generate JWT-Richtlinie, den Elementnamen und den Namen der Algorithmusfamilie aus der Fehlermeldung. Beispiel: In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
, der Name des ElementsPrivateKey
und die AlgorithmusfamilieHMAC
:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Prüfen Sie, ob die in der XML-Datei der fehlgeschlagenen Generate 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
PrivateKey
und die Algorithmusfamilie alsHMAC
an, was mit der Fehlermeldung übereinstimmt:<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>
Wenn der Wert des Elements
<Algorithm>
HS256
lautet, Sie aber<PrivateKey>
verwendet haben, ist dies die Ursache des Fehlers.Im oben gezeigten Beispiel der Generate JWT-Richtlinie wird
<PrivateKey>
verwendet, obwohl<PrivateKey>
auf einen Familienalgorithmus (HS256
) festgelegt ist, was den Fehler verursacht:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
Lösung
Achten Sie darauf, dass das Element <PrivateKey>
nur mit Algorithmen der RSA-Familie und das Element <SecretKey>
nur mit Algorithmen der HS-Familie verwendet wird.
Verwenden Sie zum Korrigieren der oben gezeigten Generate JWT-Richtlinie das <SecretKey>
aus der GenerateJWT-Richtlinie, die den HS256-Algorithmus verwendet:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld 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
oder RS512
Wenn Sie beispielsweise den Algorithmuswert im Element <Algorithm>
als RS128
angeben, führt das zu diesem Fehler.
Diagnose
Ermitteln Sie den Namen der Generate JWT-Richtlinie und den Elementnamen aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
und der Elementname istAlgorithm.
.Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
Überprüfen Sie die XML-Datei der fehlgeschlagenen Generate JWT-Richtlinie und überprüfen Sie den für das Element
<Algorithm>
angegebenen Wert.Hier ist ein Beispiel für eine Generate JWT-Richtlinie:
<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>
Prüfen Sie den im Element
<Algorithm>
angegebenen Wert. Ist dies nicht einer der WerteHS256
,HS384
,HS512
,RS256
,RS384
oderRS512
,Dann ist das die Ursache des Fehlers.
In der obigen beispielhaften Generate 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-Generate-HS256) 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
Zur Korrektur der oben gezeigten beispielhaften Generate JWT-Richtlinie, die das Element <SecretKey>
verwendet, ändern Sie den Wert von <Algorithm>
in HS25
. Hinweis: Bei Verwendung des Elements <SecretKey>
können Sie nur Algorithmen der HS-Familie verwenden.
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das Element <PrivateKey>
nicht mit RSA-Familienalgorithmen in der Generate JWT-Richtlinie verwendet wird. Ebenso kann der Fehler auftreten, wenn das Element <SecretKey>
nicht mit HS-Familienalgorithmen in der Generate JWT-Richtlinie verwendet wird.
Wenn Sie beispielsweise nicht das <PrivateKey>
-Element mit RSA-Familienalgorithmen verwenden, führt dies zu diesem Fehler.
Diagnose
Identifizieren Sie in der Fehlermeldung den Namen der Generate JWT-Richtlinie und den fehlenden Elementnamen. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
und der fehlende ElementnameSecretKey
.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Generate JWT-Richtlinie und prüfen Sie, ob das in der Fehlermeldung angegebene Element fehlt. Wenn es fehlt, ist dies die Ursache des Fehlers.
In folgender Richtlinie fehlt zum Beispiel
SecretKey
und der verwendeteAlgorithm
istHS256
:<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>
In der Beispiel-Generate JWT-Richtlinie werden Algorithmen der HS-Familie verwendet, aber das obligatorische Element
SecretKey
fehlt, was den Fehler verursacht:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
Lösung
Vergewissern Sie sich, dass das obligatorische <PrivateKey>
-Element mit RSA-Algorithmen verwendet wird und das obligatorische <SecretKey>
-Element mit HS-Familienalgorithmen verwendet wird.
Um das oben dargestellte Beispiel einer Generate JWT-Richtlinie, die den Algorithmus HS256
verwendet, zu korrigieren, fügen Sie der Generate JWT-Richtlinie das Element <SecretKey>
hinzu:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
Beispiel für Fehlermeldung
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das erforderliche untergeordnete Element <Value>
in den Elementen <PrivateKey>
oder <SecretKey>
in der Generate JWT-Richtlinie nicht definiert ist.
Diagnose
Ermitteln Sie den Namen der Generate JWT-Richtlinie aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie zum Beispiel
JWT-Generate-HS256
:Invalid Key configuration : policy(JWT-Generate-HS256).
Prüfen Sie die fehlgeschlagene Generate JWT-Richtlinien-XML-Datei und stellen Sie sicher, dass das untergeordnete Element
<Value>
nicht in den Elementen<PrivateKey>
oder<SecretKey>
definiert ist. Ist<Value>
nicht definiert, ist dies die Fehlerursache.Zum Beispiel ist in folgender Richtlinie das untergeordnete Element
<Value>
nicht im Element<SecretKey>
definiert:<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>
Da das untergeordnete Element
<Value>
nicht im<SecretKey>
-Element der Generate JWT-Richtlinie definiert ist, erhalten Sie diesen Fehler:Invalid Key configuration : policy(JWT-Generate-HS256).
Lösung
Achten Sie darauf, dass das untergeordnete Element <Value>
immer in den Elementen <PrivateKey>
oder <SecretKey>
der Generate JWT-Richtlinie definiert ist.
Um das oben dargestellte Beispiel einer Generate JWT-Richtlinie zu korrigieren, definieren Sie das untergeordnete Element <Value>
unter dem Element <SecretKey>
wie unten dargestellt:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 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-Generate-HS256) element(SecretKey/Value).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn das ref-Attribut im untergeordneten Element <Value>
der <PrivateKey>
- oder <SecretKey>
-Elemente nicht angegeben oder leer ist.
Wenn beispielsweise das untergeordnete Element <Value>
des Elements <SecretKey>
leer ist, tritt der Fehler auf.
Diagnose
Ermitteln Sie den Namen der Generate JWT-Richtlinie und den Namen der leeren Elemente aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
und der leere Elementname istSecretKey/Value
.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Generate JWT-Richtlinie und stellen Sie sicher, dass das in Schritt 1 identifizierte 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<SecretKey>
leer ist:<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>
Da das untergeordnete Element
<Value>
des Elements<SecretKey>
in der Generate JWT-Richtlinie leer ist, wird folgende Fehlermeldung angezeigt:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
Lösung
Achten Sie darauf, dass das ref-Attribut im untergeordneten Element <Value>
der <PrivateKey>
- oder <SecretKey>
-Elemente immer angegeben ist und das Präfix „private.
“ hat.
Verwenden Sie zum Korrigieren des Beispiels der Generate JWT-Richtlinie oben die Ablaufvariable private.privatekey
des untergeordneten Elements <Value>
des Elements <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>
InvalidVariableNameForSecret
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Ablaufvariablenname, der im Attribut "ref" im untergeordneten Element <Value>
der <PrivateKey>
oder <SecretKey>
-Elemente angegeben ist, nicht das private Präfix (private.
) enthält.
Beispiel:
Wenn der Name der Ablaufvariablen als mykey
im Ref-Attribut des untergeordneten Elements <Value>
des Elements <PrivateKey>
angegeben ist, tritt dieser Fehler auf.
Diagnose
Ermitteln Sie den Namen der Generate JWT-Richtlinie und den Namen des Elements mit einem ungültigen Variablennamen aus der Fehlermeldung. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
und der Elementname istSecretKey/Value
.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Generate JWT-Richtlinie und prüfen Sie den in Schritt 1 ermittelten, im Element verwendeten Variablennamen. Hat der Variablenname nicht das Präfix
private.
, ist dies die Ursache des Fehlers.Folgende Richtlinie zeigt beispielsweise, dass das untergeordnete Element
<Value>
des Elements<SecretKey>
den ungültigen Variablennamenmykey
enthält:<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>
Da der angegebene Variablenname im untergeordneten Element
<Value>
des<SecretKey>
-Elements der Generate JWT-Richtlinie nicht das Präfixprivate.
enthält, wird folgende Fehlermeldung angezeigt:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Lösung
Achten Sie darauf, dass das ref-Attribut im untergeordneten Element <Value>
der <PrivateKey>
- oder <SecretKey>
-Elemente immer angegeben ist und das Präfix private.
hat.
Verwenden Sie zum Korrigieren des Beispiels der Generate JWT-Richtlinie oben die Ablaufvariable private.privatekey
des untergeordneten Elements <Value>
des Elements <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>
InvalidSecretInConfig
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der Wert (Secret) ausdrücklich im folgenden Bereich angegeben wird:
- Die untergeordneten Elemente
<Value>
oder<Password>
des<PrivateKey>
-Elements oder - Das untergeordnete Element
<Value>
des<SecretKey>
-Elements
in der Generate JWT-Richtlinie.
Wenn das Secret beispielsweise explizit im untergeordneten Element <Value>
des <SecretKey>
-Elements als abc
angegeben ist, tritt dieser Fehler auf.
Diagnose
Geben Sie den Namen der Generate JWT-Richtlinie und den Namen des Elements an, in dem das Secret explizit aus der Fehlermeldung angegeben ist. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
und der Elementname istSecretKey/Value
.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Generate JWT-Richtlinie und prüfen Sie, ob das Secret explizit im in Schritt 1 angegebenen Element angegeben ist. Wenn es explizit angegeben wird, ist das die Fehlerursache.
Folgende Richtlinie zeigt beispielsweise, dass das Secret explizit im untergeordneten Element
<Value>
des<SecretKey>
-Elements angegeben wurde:<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>
Da das Secret im untergeordneten Element
<Value>
des<SecretKey>
-Elements der Generate JWT-Richtlinie explizit angegeben ist, wird folgende Fehlermeldung angezeigt:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
Lösung
Der Wert muss im untergeordneten Element <Value>
der <PrivateKey>
- oder <SecretKey>
-Elemente immer als Ablaufvariable angegeben werden.
Verwenden Sie die Ablaufvariable private.secretkey
im Ref-Attribut des untergeordneten Elements <Value>
von <SecretKey>
, um die oben gezeigte Generate JWT-Richtlinie zu korrigieren:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Edge-Benutzeroberfläche oder die Edge-Verwaltungs-API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
Beispiel für Fehlermeldung
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Beispiel-Screenshot
In der Edge-Benutzeroberfläche wird ein Dialogfeld mit einem Fehler angezeigt:
Ursache
Dieser Fehler tritt auf, wenn der im Element <NotBefore>
angegebene Wert nicht in einem der unterstützten Formate vorliegt:
sortable
, RFC 1123
, RFC 850
, ANCI-C
Ist der in <NotBefore>
angegebene Wert beispielsweise 20-JUN-1990 08:03
, was kein unterstütztes Format ist, tritt dieser Fehler auf.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
Diagnose
Ermitteln Sie aus der Fehlermeldung den Namen der Generate JWT-Richtlinie und den Namen des Elements, das ein ungültiges Zeitformat hat. In der folgenden Fehlermeldung lautet der Name der Generate JWT-Richtlinie
JWT-Generate-HS256
und der Elementname istNotBefore
.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
Untersuchen Sie die XML-Datei der fehlgeschlagenen Generate JWT-Richtlinie und prüfen Sie das im in Schritt 1 ermittelten Element verwendete Zeitformat. Wenn das Element keines der unterstützten Formate verwendet:
sortable
,RFC 1123
,RFC 850
,ANCI-C
Dann ist das die Ursache des Fehlers.
Folgende Richtlinie zeigt beispielsweise, dass das untergeordnete Element
<NotBefore>
ein nicht unterstütztes Zeitformat nutzt:<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>
Da das Element
<NotBefore>
der Generate JWT-Richtlinie keine der unterstützten Zeitformate verwendet, wird der Fehler angezeigt:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
Lösung
Achten Sie darauf, dass der im Element <NotBefore>
angegebene Wert eines der unterstützten Formate verwendet:
sortable
, RFC 1123
, RFC 850
, ANCI-C
Ändern Sie zum Korrigieren des Beispiels einer Generate JWT-Richtlinie das Datum im Element <NotBefore>
in das Format sortable
(siehe unten):
<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>