Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon كيف يمكنني فك تشفير رمز JWT في تطبيقات المنطق


كيف يمكنني فك تشفير رمز JWT في تطبيقات المنطق


يمكن تحقيق فك تشفير رمز JWT في تطبيقات المنطق Azure دون استخدام مكتبات خارجية مثل Node.js أو C#. إليك نهج خطوة بخطوة:

1. استخراج رمز JWT: أولاً ، تحتاج إلى استخراج رمز JWT من الطلب الوارد. عادة ما يتم العثور على هذا في رأس "التفويض" للطلب.

2. تقسيم رمز JWT: تتكون الرموز الرموز JWT من ثلاثة أجزاء مفصولة بالنقاط: الرأس ، الحمولة ، والتوقيع. تحتاج إلى تقسيم الرمز المميز بواسطة هذه النقاط لعزل الحمولة ، والتي تحتوي على تفاصيل المستخدم.

3. فك تشفير الحمولة الحمولة: الحمولة هي BASE64URL مشفرة. يمكنك استخدام وظيفة `base64tostring` في تطبيقات المنطق لفك تشفيرها. ومع ذلك ، تحتاج إلى التأكد من أن سلسلة BASE64 مبطنة بشكل صحيح بـ "=" لجعل طولها مضاعفًا 4.

4. Parse JSON: بمجرد فك تشفير ، سيكون الحمولة عبارة عن سلسلة JSON. استخدم وظيفة `json` في تطبيقات المنطق لتحليل هذه السلسلة في كائن JSON الذي يمكنك العمل معه.

إليك مثال مبسط على كيفية ظهور ذلك في تطبيقات المنطق:

- تقسيم رمز JWT: استخدم تعبيرًا مثل "Split (TriggerBody ()؟ [" إذن "] ،".) "لتقسيم الرمز المميز.
- فك تشفير الحمولة: إلحاق "=" لضمان الحشوة المناسبة ثم استخدام `base64ToString` لفك تشفيره.
- Parse JSON: استخدم وظيفة `json` لتحليل الحمولة النافعة التي تم فك تشفيرها.

للحصول على نهج أكثر قابلية لإعادة الاستخدام ، فكر في إنشاء تطبيق منطق للأطفال خصيصًا لتحليل الرموز JWT ، كما هو موضح في [3]. يتيح لك ذلك دمج تحليل JWT بسهولة في تطبيقات منطقية متعددة.

إذا كنت بحاجة إلى التحقق من صحة الرمز المميز (تحقق من توقيعه) ، فستستخدم عادة خدمة أو مكتبة خارجية ، لأن تطبيقات المنطق لا تدعم صحة JWT أصلاً. ومع ذلك ، بالنسبة لاستخراج المطالبات ببساطة دون التحقق من الصحة ، فإن الخطوات المذكورة أعلاه تكفي.

الاستشهادات:
[1] https://stackoverflow.com/questions/54257879/how-to-decode-a-jwt-token-in-azure-logic-app
[2] https://www.criipto.com/blog/jwt-validation-guide
[3] https://autosysops.com/blog/parse-jwt-tokens-in-azure-logic-apps
[4] https://hasura.io/blog/best-practices-of-using-jwt-with-graphql
[5] https://techcommunity.microsoft.com/blog/azurevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-restr/336802
[6] https://auth0.com/blog/how-to
[7] https://github.com/auth0/jwt-decode
[8] https://supertokens.com/blog/revoking-access-with-a-jwt-lacklist
[9] https://fusionauth.io/dev-tools/jwt-decoder
[10]
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/