شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
InvalidNameForAdditionalClaim
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid name for additional claim : policy(policy_name) claim(claim_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که نام ادعای مورد استفاده در عنصر فرزند <Claim>
عنصر <AdditionalClaims>
یکی از نام های ثبت شده زیر باشد:
"بچه"، "iss"، "sub"، "aud"، "iat"، "exp"، "nbf"، "jti"
ادعاهای ثبت شده در RFC7519 مشخص شده است.
به عنوان مثال، استفاده از نام ادعای iss
در عنصر <AdditionalClaims>
منجر به این خطا می شود.
تشخیص
نام خط مشی Generate JWT و نام ادعا را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام ادعاiss
است:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
بررسی کنید که نام ادعای مورد استفاده در عنصر
<AdditionalClaims>
در Generate JWT Policy ناموفق XML با نام ادعای مشخص شده در پیام خطا مطابقت داشته باشد (مرحله 1 در بالا). به عنوان مثال، خط مشی زیر ادعا را به عنوانiss
مشخص می کند که با آنچه در پیام خطا است مطابقت دارد:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </GenerateJWT>
اگر نام ادعای استفاده شده در عنصر فرزند
<Claim>
عنصر<AdditionalClaims>
یکی از نامهای ثبت شده زیر باشد:"بچه"، "iss"، "sub"، "aud"، "iat"، "exp"، "nbf"، "jti"
پس این دلیل خطا است.
در مثال ایجاد خط مشی JWT که در بالا نشان داده شده است، نام
<Claim>
به عنوانiss
در عنصر<AdditionalClaims>
مشخص شده است که منجر به خطا می شود:Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
قطعنامه
از هیچ یک از نامهای ثبتشده «kid»، «iss»، «sub»، «aud»، «iat»، «exp»، «nbf» یا «jti» در عنصر فرزند <Claim>
<AdditionalClaims>
استفاده نکنید. <AdditionalClaims>
عنصر.
برای اصلاح مثال Generate JWT Policy نشان داده شده در بالا، نام ادعا را به 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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که نوع ادعای مورد استفاده در عنصر فرزند <Claim>
عنصر <AdditionalClaims>
خط مشی GenerateJWT یکی از انواع زیر نباشد:
string
(پیش فرض)، number
، boolean
یا map
به عنوان مثال، استفاده از integer
نوع ادعا در عنصر <AdditionalClaims>
منجر به خطا می شود.
تشخیص
نام خط مشی Generate JWT، نام ادعا و نوع ادعا را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام خطمشی Generate JWT
JWT-Generate-HS256
است، نام ادعاclaim
و نوع ادعاinteger
است:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
بررسی کنید که نام ادعا و نوع استفاده شده در زیر عنصر
<AdditionalClaims>
در Generate JWT Policy ناموفق XML با نام و نوع ادعای شناسایی شده در پیام خطا در مرحله 1 مطابقت دارد. به عنوان مثال، خط مشی زیر ادعا را به عنوانclaim
مشخص می کند و به عنوانinteger
تایپ کنید، که با آنچه در پیام خطا است مطابقت دارد:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </GenerateJWT>
اگر نوع ادعای استفاده شده در عنصر فرزند
<Claim>
عنصر<AdditionalClaims>
یکی از انواع زیر نیست:string
(پیش فرض)،number
،boolean
یاmap
پس این دلیل خطا است.
در مثال ایجاد خط مشی JWT نشان داده شده در بالا، نوع
<Claim>
در زیر عنصر<AdditionalClaims>
به عنوانinteger
مشخص شده است. از آنجایی کهinteger
یک نوع پشتیبانی نمی شود، با این خطا مواجه می شوید:Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
قطعنامه
مطمئن شوید که فقط انواع داده های پشتیبانی شده مانند string
، number
، boolean
یا map
در عنصر فرزند <Claim>
عنصر <AdditionalClaims>
استفاده می شود.
برای تصحیح مثال ایجاد خط مشی JWT نشان داده شده در بالا، نوع ادعا را به boolean
تغییر دهید.
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
نمونه پیام خطا
Error Saving Revision 2
Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که نام ادعا در عنصر فرزند <Claim>
عنصر <AdditionalClaims>
یا <AdditionalHeaders>
مشخص نشده باشد.
تشخیص
نام خط مشی Generate JWT را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
است:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
XML خط مشی Generate JWT ناموفق را بررسی کنید و بررسی کنید که آیا نام ادعا در عنصر فرزند
<Claims>
در عنصر<AdditionalClaims>
یا<AdditionalHeaders>
وجود ندارد. به عنوان مثال، خط مشی Generate JWT زیر نام ادعا را در عنصر<AdditionalClaims>
مشخص نمی کند:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </GenerateJWT>
از آنجایی که نام
<Claim>
در عنصر<AdditionalClaims>
مشخص نشده است، با این خطا مواجه می شوید:Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
قطعنامه
اطمینان حاصل کنید که نام ادعا همیشه در عنصر فرزند <Claim>
عنصر <AdditionalClaims>
یا <AdditionalHeaders>
مشخص شده است.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، نام ادعا را مطابق شکل زیر مشخص کنید:
<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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid name for additional header : policy(policy_name)header(header_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
اگر نام ادعای مورد استفاده در عنصر فرزند <Claim>
عنصر <AdditionalHeaders>
یکی از هدرهای استاندارد JWT زیر باشد این خطا رخ می دهد:
alg
یا typ
به عنوان مثال، استفاده از نام ادعای alg
در عنصر <AdditionalHeaders>
باعث ایجاد خطا می شود.
تشخیص
نام خط مشی Generate JWT و نام هدر را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام سرصفحهalg
است:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
بررسی کنید که نام سرصفحه استفاده شده در عنصر فرزند
<Claim>
در زیر عنصر<AdditionalHeaders>
در Generate JWT Policy ناموفق XML با نام سرصفحه مشخص شده در پیام خطا در مرحله 1 مطابقت دارد. به عنوان مثال، خط مشی زیر سرصفحه را به عنوانalg
مشخص می کند. ، که با آنچه در پیام خطا است مطابقت دارد:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </GenerateJWT>
اگر نام سرصفحه مورد استفاده در عنصر فرزند
<Claim>
عنصر<AdditionalClaims>
یکی از هدرهای استاندارد JWT زیر باشد:alg
یاtyp
پس این دلیل خطا است.
در مثال ایجاد خط مشی JWT که در بالا نشان داده شده است، نام
<Claim>
به عنوانalg
در زیر عنصر<AdditionalClaims>
مشخص شده است که منجر به خطا می شود:Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
قطعنامه
از هدرهای استاندارد JWT alg
یا typ
در عنصر فرزند <Claim>
عنصر <AdditionalHeaders>
استفاده نکنید.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، از نام x5c
در عنصر فرزند <Claim>
عنصر <AdditionalHeaders>
استفاده کنید:
<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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim1) type(integer).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
اگر نوع ادعای مورد استفاده در عنصر فرزند <Claim>
عنصر <AdditionalHeaders>
خطمشی GenerateJWT یکی از انواع زیر نباشد، خطا رخ میدهد:
string
(پیشفرض)، number
، boolean
یا map
.
به عنوان مثال، استفاده از integer
نوع ادعا در عنصر <AdditionalHeaders>
باعث ایجاد خطا می شود.
تشخیص
نام خط مشی Generate JWT، نام ادعا و نوع ادعا را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام خطمشی Generate JWT
JWT-Generate-HS256
، نام ادعایclaim,
و نوع ادعاinteger:
Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
بررسی کنید که نام ادعا و نوع ادعای مورد استفاده در عنصر
<AdditionalClaims>
در Generate JWT Policy ناموفق XML با نام ادعا و نوع ادعای شناسایی شده در پیام خطا در مرحله 1 مطابقت دارد. به عنوان مثال، خط مشی زیر ادعا را به عنوانclaim
مشخص می کند. و نوع ادعا به عنوانinteger
، که با آنچه در پیام خطا است مطابقت دارد:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </GenerateJWT>
اگر نوع ادعای استفاده شده در عنصر فرزند
<Claim>
عنصر<AdditionalHeaders>
یکی از انواع زیر نیست:string
(پیش فرض)،number
،boolean
یاmap
پس این دلیل خطا است.
در مثال ایجاد خط مشی JWT که در بالا نشان داده شده است، نوع
<Claim>
در زیر عنصر<AdditionalHeaders>
به عنوانinteger
مشخص شده است. از آنجایی کهinteger
یک نوع پشتیبانی نمی شود، با این خطا مواجه می شوید:Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
قطعنامه
اطمینان حاصل کنید که فقط انواع داده های پشتیبانی شده string
، number
، boolean
یا map
در عنصر فرزند <Claim>
عنصر <AdditionalHeaders>
استفاده می شود.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، نوع ادعا را به 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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid value for array attribute: policy(policy_name)claim(claim_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
اگر مقدار مشخصه آرایه در عنصر فرزند <Claim>
عنصر <AdditionalClaims>
یا <AdditionalHeaders>
روی true
یا false
تنظیم نشود این خطا رخ می دهد.
به عنوان مثال، تنظیم مقدار مشخصه آرایه به صورت yes
در عنصر فرزند <Claim>
از <AdditionalClaims>
یا <AdditionalHeaders>
باعث ایجاد خطا می شود.
تشخیص
نام خط مشی Generate JWT و نام ادعا را از پیام خطا شناسایی کنید. به عنوان مثال، در پیغام خطای زیر، نام خطمشی Generate JWT
JWT-Generate-HS256
و نام ادعاclaim:
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
بررسی کنید که نام ادعای استفاده شده در عنصر فرزند
<Claim>
در زیر عنصر<AdditionalHeaders>
در Generate JWT Policy ناموفق XML با نام ادعای شناسایی شده در پیام خطا در مرحله 1 مطابقت دارد. به عنوان مثال، خط مشی زیر نام ادعا را به عنوان مشخص می کند.claim
، که با آنچه در پیام خطا وجود دارد مطابقت دارد:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </GenerateJWT>
اگر مقدار صفت
array
در عنصر فرزند<Claim>
عنصر<AdditionalClaims>
رویtrue
یاfalse
تنظیم نشده باشد، این دلیل خطا است.از آنجایی که ویژگی
array
در عنصر فرزند<Claim>
عنصر<AdditionalClaims>
در مثال بالا رویyes
تنظیم شده است، با این خطا مواجه می شوید:Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
قطعنامه
مطمئن شوید که مقدار ویژگی آرایه در عنصر فرزند <Claim>
<AdditionalClaims>
یا <AdditionalHeaders>
روی true
یا false
تنظیم شده باشد.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، مقدار مشخصه آرایه را به 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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
نمونه پیام خطا
Error Saving Revision 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که عنصر <PrivateKey>
با الگوریتم های خانواده HS و عنصر <SecretKey>
با الگوریتم های خانواده RSA استفاده شود. اگر هر یک از این شرایط درست باشد، خطا نیز رخ خواهد داد.
به عنوان مثال، استفاده از عنصر <PrivateKey>
با الگوریتم های خانواده HS منجر به این خطا می شود.
تشخیص
نام خط مشی Generate JWT، نام عنصر و نام خانواده الگوریتم را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر نام سیاست Generate JWT
JWT-Generate-HS256
، نام عنصرPrivateKey
و خانواده الگوریتمHMAC
است:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
بررسی کنید که عنصر و خانواده الگوریتم مورد استفاده در XML خط مشی Generate JWT شکست خورده با عنصر و خانواده الگوریتم مشخص شده در پیام خطا در مرحله 1 مطابقت دارند. به عنوان مثال، خط مشی زیر عنصر را به عنوان
PrivateKey
و خانواده الگوریتم را به عنوانHMAC
مشخص می کند. که با آنچه در پیام خطا است مطابقت دارد:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PrivateKey> <Password ref="private.privatekey-password"/> </PrivateKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array=tuu =/> </AdditionalClaims> </GenerateJWT>
اگر مقدار عنصر
<Algorithm>
HS256
است، اما شما از<PrivateKey>
استفاده کردهاید، آنگاه این دلیل خطا است.در مثال ایجاد خط مشی JWT که در بالا نشان داده شده است، از
<PrivateKey>
استفاده می شود حتی اگر<PrivateKey>
روی یک الگوریتم خانواده،HS256
تنظیم شده باشد، که منجر به خطا می شود:Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
قطعنامه
اطمینان حاصل کنید که عنصر <PrivateKey>
فقط با الگوریتم های خانواده RSA و عنصر <SecretKey>
فقط با الگوریتم های خانواده HS استفاده می شود.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، از <SecretKey>
از خط مشی GenerateJWT استفاده کنید که از الگوریتم HS256 استفاده می کند:
<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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که مقدار مشخص شده در عنصر <Algorithm>
یکی از مقادیر زیر نباشد:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
به عنوان مثال، تعیین مقدار الگوریتم به عنوان RS128
در عنصر <Algorithm>
منجر به این خطا می شود.
تشخیص
نام خط مشی Generate JWT و نام عنصر را از پیام خطا شناسایی کنید. به عنوان مثال در پیغام خطای زیر نام سیاست Generate JWT
JWT-Generate-HS256
و نام عنصرAlgorithm.
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
XML خط مشی Generate JWT ناموفق را بررسی کنید و مقدار مشخص شده برای عنصر
<Algorithm>
را بررسی کنید.در اینجا نمونه ای از خط مشی Generate JWT آمده است:
<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </GenerateJWT>
مقدار مشخص شده در عنصر
<Algorithm>
را بررسی کنید. اگر یکی از مقادیر زیر نباشد:HS256
,HS384
,HS512
,RS256
,RS384
,RS512
پس این دلیل خطا است.
در مثال ایجاد خط مشی JWT نشان داده شده در بالا، نام
<Algorithm>
به عنوانHS128
مشخص شده است. از آنجایی که این یک الگوریتم پشتیبانی نمی شود، با این خطا مواجه می شوید:Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
قطعنامه
اطمینان حاصل کنید که مقدار مشخص شده در عنصر <Algorithm>
یکی از مقادیر پشتیبانی شده است:
HS256
, HS384
, HS512
, RS256
, RS384
, RS512
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، که از عنصر <SecretKey>
استفاده می کند، مقدار <Algorithm>
را به HS25
تغییر دهید. توجه داشته باشید، زمانی که عنصر <SecretKey>
استفاده می شود، فقط می توانید از الگوریتم های خانواده HS استفاده کنید.
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
MissingConfigurationElement
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
نمونه پیام خطا
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا زمانی رخ می دهد که عنصر <PrivateKey>
با الگوریتم های خانواده RSA در خط مشی Generate JWT استفاده نشود . به همین ترتیب، اگر عنصر <SecretKey>
با الگوریتم های خانواده HS در خط مشی Generate JWT استفاده نشود ، ممکن است خطا رخ دهد.
به عنوان مثال، عدم استفاده از عنصر <PrivateKey>
با الگوریتم های خانواده RSA منجر به این خطا می شود.
تشخیص
نام خط مشی Generate JWT و نام عنصر گمشده را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام عنصر گمشدهSecretKey
است.Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
XML خط مشی Generate JWT ناموفق را بررسی کنید و بررسی کنید که عنصر نشان داده شده در پیام خطا وجود ندارد. اگر گم شده باشد، دلیل خطا همین است.
به عنوان مثال، در خط مشی زیر
SecretKey
وجود ندارد وAlgorithm
مورد استفادهHS256
است:<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>
مثال Generate JWT از الگوریتمهای خانواده HS استفاده میکند، اما عنصر اجباری
SecretKey
وجود ندارد که منجر به خطا میشود:Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
قطعنامه
اطمینان حاصل کنید که عنصر اجباری <PrivateKey>
با الگوریتم های خانواده RSA و عنصر اجباری <SecretKey>
با الگوریتم های خانواده HS استفاده می شود.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، که از الگوریتم HS256
استفاده می کند، عنصر <SecretKey>
را به خط مشی Generate JWT اضافه کنید:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving RevisionInvalid Key configuration : policy(policy_name).
نمونه پیام خطا
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
اگر عنصر فرزند اجباری <Value>
در عناصر <PrivateKey>
یا <SecretKey>
در خط مشی Generate JWT تعریف نشده باشد، این خطا رخ می دهد.
تشخیص
نام خط مشی Generate JWT را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
است.Invalid Key configuration : policy(JWT-Generate-HS256).
XML خط مشی Generate JWT ناموفق را بررسی کنید و بررسی کنید که آیا عنصر فرزند
<Value>
در عناصر<PrivateKey>
یا<SecretKey>
تعریف نشده است. اگر<Value>
تعریف نشده باشد، دلیل این خطا است.به عنوان مثال، در سیاست زیر عنصر فرزند
<Value>
در عنصر<SecretKey>
تعریف نشده است:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
از آنجایی که عنصر فرزند
<Value>
در عنصر<SecretKey>
خط مشی Generate JWT تعریف نشده است، با این خطا مواجه می شوید:Invalid Key configuration : policy(JWT-Generate-HS256).
قطعنامه
اطمینان حاصل کنید که عنصر فرزند <Value>
همیشه در عناصر <PrivateKey>
یا <SecretKey>
خط مشی Generate JWT تعریف شده است.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، عنصر فرزند <Value>
را در زیر عنصر <SecretKey>
مطابق شکل زیر تعریف کنید:
<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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Empty Element for Key Configuration : policy(policy_name) element(element_name).
نمونه پیام خطا
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که ویژگی ref در عنصر فرزند <Value>
عناصر <PrivateKey>
یا <SecretKey>
مشخص یا خالی نباشد.
به عنوان مثال، اگر عنصر فرزند <Value>
عنصر <SecretKey>
خالی باشد، خطا رخ می دهد.
تشخیص
نام خط مشی Generate JWT و نام عنصر خالی را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام عنصر خالیSecretKey/Value
است.Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
XML خط مشی Generate JWT ناموفق را بررسی کنید و بررسی کنید که آیا عنصر مشخص شده در مرحله 1 خالی است یا خیر. اگر خالی است، دلیل این خطا است.
به عنوان مثال، خط مشی زیر نشان می دهد که عنصر فرزند
<Value>
عنصر<SecretKey>
خالی است:<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>
از آنجایی که عنصر فرزند
<Value>
عنصر<SecretKey>
در خط مشی Generate JWT خالی است، با این خطا مواجه می شوید:Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
قطعنامه
اطمینان حاصل کنید که ویژگی ref در عنصر فرزند <Value>
عناصر <PrivateKey>
یا <SecretKey>
همیشه مشخص شده باشد و دارای پیشوند " private.
" باشد.
برای تصحیح مثال ایجاد خط مشی JWT نشان داده شده در بالا، از متغیر جریان private.privatekey
در عنصر فرزند <Value>
عنصر <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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
نمونه پیام خطا
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که نام متغیر جریان مشخص شده در ویژگی ref در عنصر فرزند <Value>
عناصر <PrivateKey>
یا <SecretKey>
شامل پیشوند خصوصی ( private.
) نباشد.
به عنوان مثال:
اگر نام متغیر جریان به عنوان mykey
در ویژگی ref عنصر فرزند <Value>
عنصر <PrivateKey>
مشخص شده باشد، این خطا رخ می دهد.
تشخیص
نام خط مشی Generate JWT و نام عنصر با نام متغیر نامعتبر را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام عنصرSecretKey/Value
است.Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
XML خط مشی Generate JWT ناموفق را بررسی کنید و نام متغیر مورد استفاده در عنصر را که در مرحله 1 شناسایی شده است بررسی کنید. اگر نام متغیر دارای پیشوند
private.
، پس این دلیل خطا است.به عنوان مثال، خط مشی زیر نشان می دهد که عنصر فرزند
<Value>
عنصر<SecretKey>
دارای نام متغیر نامعتبرmykey
است:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="mykey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
زیرا نام متغیر مشخص شده در عنصر فرزند
<Value>
عنصر<SecretKey>
خط مشی Generate JWT دارای پیشوندprivate.
، خطا را دریافت می کنید:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
قطعنامه
اطمینان حاصل کنید که ویژگی ref در عنصر فرزند <Value>
عناصر <PrivateKey>
یا <SecretKey>
همیشه مشخص شده باشد و دارای پیشوند private.
.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، از متغیر جریان private.privatekey
در عنصر فرزند <Value>
عنصر <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
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
نمونه پیام خطا
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که مقدار (مخفی) به صراحت در موارد زیر مشخص شده باشد:
- عناصر فرزند
<Value>
یا<Password>
عنصر<PrivateKey>
یا - عنصر فرزند
<Value>
عنصر<SecretKey>
در خط مشی Generate JWT.
به عنوان مثال، اگر در عنصر فرزند <Value>
عنصر <SecretKey>
صراحتاً به صورت abc
مشخص شود، این خطا رخ می دهد.
تشخیص
نام خط مشی Generate JWT و نام عنصری را که در آن راز به صراحت از پیام خطا مشخص شده است، شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام عنصرSecretKey/Value
است.Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
XML خط مشی Generate JWT ناموفق را بررسی کنید و بررسی کنید که آیا راز به صراحت در عنصر مشخص شده در مرحله 1 مشخص شده است یا خیر.
به عنوان مثال، خط مشی زیر نشان می دهد که راز به صراحت در عنصر فرزند
<Value>
عنصر<SecretKey>
مشخص شده است:<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>
از آنجایی که راز به صراحت در عنصر فرزند
<Value>
عنصر<SecretKey>
از سیاست Generate JWT مشخص شده است، با این خطا مواجه می شوید:Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
قطعنامه
اطمینان حاصل کنید که مقدار همیشه به عنوان یک متغیر جریان در عنصر فرزند <Value>
عناصر <PrivateKey>
یا <SecretKey>
مشخص شده است.
برای تصحیح مثال Generate JWT Policy نشان داده شده در بالا، از متغیر جریان private.secretkey
در ویژگی ref عنصر فرزند <Value>
در <SecretKey>
استفاده کنید:
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<ExpiresIn>1h</ExpiresIn>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTimeFormat
پیغام خطا
استقرار پراکسی API از طریق Edge UI یا Edge management API با این پیام خطا انجام نمی شود:
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
نمونه پیام خطا
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
نمونه اسکرین شات
در رابط کاربری Edge، یک کادر محاوره ای با خطا مشاهده خواهید کرد:
علت
این خطا در صورتی رخ می دهد که مقدار مشخص شده در عنصر <NotBefore>
در بین یکی از فرمت های پشتیبانی شده نباشد:
sortable
، RFC 1123
، RFC 850
، ANCI-C
به عنوان مثال، اگر مقدار مشخص شده در <NotBefore>
20-JUN-1990 08:03
باشد که یک قالب پشتیبانی نمی شود، این خطا رخ می دهد.
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
تشخیص
نام خط مشی Generate JWT و نام عنصری که قالب زمانی نامعتبر دارد را از پیام خطا شناسایی کنید. به عنوان مثال، در پیام خطای زیر، نام سیاست Generate JWT
JWT-Generate-HS256
و نام عنصرNotBefore
است.Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
XML خط مشی Generate JWT ناموفق را بررسی کنید و قالب زمان استفاده شده در عنصر مشخص شده در مرحله 1 را تأیید کنید. اگر عنصر از هیچ یک از قالبهای پشتیبانیشده استفاده نمیکند:
sortable
،RFC 1123
،RFC 850
،ANCI-C
پس این دلیل خطا است.
به عنوان مثال، خط مشی زیر نشان می دهد که عنصر فرزند
<NotBefore>
از قالب زمانی پشتیبانی نشده استفاده می کند:<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
از آنجایی که عنصر
<NotBefore>
سیاست Generate JWT از هیچ یک از قالبهای زمانی پشتیبانیشده استفاده نمیکند، با این خطا مواجه میشوید:Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
قطعنامه
اطمینان حاصل کنید که مقدار مشخص شده در عنصر <NotBefore>
از یکی از فرمت های پشتیبانی شده استفاده می کند:
sortable
، RFC 1123
، RFC 850
، ANCI-C
برای تصحیح مثال Generate JWT Policy، تاریخ را در عنصر <NotBefore>
تغییر دهید تا از قالب sortable
مانند شکل زیر استفاده کنید:
<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>