عیب یابی خطای استقرار خط مشی DecodeJWT

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

عنصر خالی نامعتبر

پیام خطا

استقرار پروکسی API از طریق رابط کاربری Edge یا رابط مدیریت Edge با این پیام خطا مواجه می‌شود:

Error Saving Revision
Invalid empty element : policy(policy_name) element(Source)

مثال پیام خطا

Error Saving Revision
Invalid empty element : policy(Decode_JWT) element(Source).

مثال اسکرین شات

در رابط کاربری Edge، یک کادر محاوره‌ای با یک خطا مشاهده خواهید کرد:

علت

این خطا زمانی رخ می‌دهد که متغیر جریان حاوی JWT که قرار است رمزگشایی شود، در عنصر <Source> از سیاست DecodeJWT مشخص نشده باشد.

برای مثال، اگر عنصر <Source> حاوی مقداری نباشد، همانطور که در زیر نشان داده شده است، این خطا رخ خواهد داد:

<Source></Source>

تشخیص

  1. نام سیاست DecodeJWT و نام عنصری که در پیام خطا خالی است را شناسایی کنید. برای مثال، در پیام خطای زیر، نام سیاست DecodeJWT، Decode_JWT و نام عنصر، Source است.

    Invalid empty element : policy(Decode_JWT) element(Source).
  2. سیاست DecodeJWT را بررسی کنید و بررسی کنید که آیا عنصر شناسایی شده در مرحله 1 خالی است یا خیر. اگر عنصر خالی باشد، علت خطا همین است.

    در اینجا یک نمونه از سیاست DecodeJWT آورده شده است:

    <DecodeJWT name="Decode_JWT">
        <DisplayName>JWT Decode HS256</DisplayName>
        <Source></Source>
        <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    </DecodeJWT>
    

    از آنجا که عنصر <Source> خالی است، با خطای زیر مواجه می‌شوید:

    Invalid empty element : policy(Decode_JWT) element(Source).
    

وضوح تصویر

مطمئن شوید که عنصر <Source> یک JWT معتبر را در یک متغیر جریان مشخص می‌کند.

برای رفع مشکل مربوط به نمونه‌ی سیاست DecodeJWT، می‌توانید متغیر جریان حاوی یک JWT معتبر را در عنصر <Source> مشخص کنید.

<DecodeJWT name="Decode_JWT">
    <DisplayName>JWT Decode HS256</DisplayName>
    <Source>var.jwt</Source>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
</DecodeJWT>