JWT -tokeni dekodeerimist Azure'i loogikarakendustes saab saavutada ilma väliseid raamatukogusid nagu Node.js või C#kasutamata. Siin on samm-sammuline lähenemisviis:
1. Ekstraheerige JWT märk: esiteks peate sissetulevast päringust JWT -märgi välja võtma. Tavaliselt leidub seda päringu päises.
2. jagage JWT märk: JWT žetoonid koosnevad kolmest osast, mis on eraldatud punktidega: päis, kandekoormus ja allkiri. Kasuliku koormuse isoleerimiseks peate nende punktidega märgi jagama, mis sisaldab kasutaja üksikasju.
3. Dekodeerige kasuliku koormus: kandevõime on kodeeritud base64url. Selle dekodeerimiseks saate loogikarakendustes kasutada funktsiooni `base64toString`. Siiski peate tagama, et Base64 string on korralikult polsterdatud "=" -ga, et muuta selle pikkus 4 -kordseks.
4. Parse JSON: Kui dekodeeritakse, on kandevõime JSON -stringi. Kasutage loogikarakendustes funktsiooni JSON`, et see string JSON -objektiks, millega saate töötada.
Siin on lihtsustatud näide sellest, kuidas see loogikarakendustes välja näeb:
- Jagage JWT -token: kasutage sellise avaldist nagu `Split (Triggerbody ()? ['Autorication'], '.')`, Et jagada märgi.
- Dekodeerige kasuliku koormus: lisa "=", et tagada õige polsterdus ja seejärel kasutage selle dekodeerimiseks `base64toString".
- Parse JSON: dekodeeritud kasuliku koormuse sõelumiseks kasutage funktsiooni JSON ".
Korduvkasutatava lähenemisviisi saamiseks kaaluge laste loogika rakenduse loomist spetsiaalselt JWT žetoonide parsimiseks, nagu on kirjeldatud artiklis [3]. See võimaldab teil hõlpsalt integreerida JWT parsimine mitmesse loogikarakendusse.
Kui peate märgi kinnitama (kontrollige selle allkirja), kasutaksite tavaliselt välist teenust või teeki, kuna loogikarakendused ei toeta JWT valideerimist loomulikult. Kuid väidete lihtsalt valideerimiseta eraldamiseks piisab ülaltoodud sammudest.
Tsitaadid:
]
]
[3] https://autosysocs.com/blog/parse-jwt-tokens-in-azure-logic-apps
[4] https://hasura.io/blog/best-cractices-of-using-jwt-with-graphql
]
]
[7] https://github.com/auth0/jwt-decode
[8] https://supertokens.com/blog/revoking-access-with-a-a-jwt-blacklist
]
[10] https://rakhesh.com/azure/parsing-json-tokens-in-a-logic-app/
]