Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā es varu izgūt un atšifrēt JWT marķieri loģikas lietotnē


Kā es varu izgūt un atšifrēt JWT marķieri loģikas lietotnē


Lai loģiskā lietotnē izgūtu un atšifrētu JWT marķieri, varat sekot šīm darbībām:

1. Izgūstiet JWT marķieri: Pirmkārt, jums jāiegūst JWT marķieris. To var izdarīt, parsējot ienākošā pieprasījuma galvenes. Ja marķieris tiek nosūtīts virsrakstā “Autorization”, varat to iegūt, izmantojot “Parse JSON” darbību ar shēmu, kas atspoguļo atslēgu “Autorization”. Pēc tam izveidojiet mainīgo, lai noturētu tikai marķiera daļu (piemēram, pēc "nesējs") [10].

2. atkodē JWT marķieri: JWT marķieri ir base64url kodēti. Jūs varat atšifrēt marķiera kravas daļu, izmantojot loģisko lietotņu funkcijas “Split” un `base64toString`. Sadaliet marķieri ar "". Separators, lai izolētu kravu. Pēc tam pievienojiet "=", lai pārliecinātos, ka bāzes 64 dekodēšanai garums ir 4 reizinājums. Loģiskās lietotnes to netieši pārveidos par bāzes64 virkni, kuru pēc tam varat atšifrēt, izmantojot `base64toString` [1] [3].

3. Parsēt dekodēto kravu: Pēc kravas dekodēšanas jums būs JSON virkne. Izmantojiet citu “Parse JSON” darbību, lai pārveidotu šo virkni par JSON objektu, ar kuru varat strādāt savā loģikas lietotnē. Jūs varat definēt šī JSON objekta shēmu, pamatojoties uz paredzamajām pretenzijām JWT marķierā [3].

4. Izrakstīšanās prasības: Kad JSON ir parsēts, varat iegūt īpašas pretenzijas (piemēram, lietotāja ID vai e -pastu) un izmantot tās pēc vajadzības savā loģikas lietotnes darbplūsmā.

Šī pieeja ļauj atšifrēt un izmantot JWT žetonus tieši Azure loģikas lietotnēs, neveicot Azure funkciju vai jāizmanto ārējie pakalpojumi dekodēšanai. Tomēr, ja jums ir jāapstiprina marķieris (pārbaudiet tā parakstu), jums, iespējams, būs jāizmanto ārējs pakalpojums vai Azure funkcija ar bibliotēku, kas varētu validēt JWT.

Atsauces:
[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://autosysyps.com/blog/pars-jwt-tokens-in-azure-logic-apps
[4] https://hasura.io/blog/best-pracices-of-using-jwt-with-graphql
[5] https://www.michev.info/blog/post/2140/decode-jwt-access-and-id-tokens-via-powershell
[6] https://supertokens.com/blog/revoking-access-with-a-jwt-blacklist
.
[8] https://docs.azure.cn/en-us/logic-apps/logic-apps-securing-a-logic-app
[9] https://www.mikaelsand.se/2022/06/extracting-values-from-a-jwt-token-in-apim/
[10] https://rakhesh.com/azure/parsing-json-tokensin-a-logic-app/
[11] https://github.com/auth0/jwt-decode