Decodarea unui token JWT în aplicațiile Azure Logic poate fi obținută fără a utiliza biblioteci externe precum Node.js sau C#. Iată o abordare pas cu pas:
1. Extrageți jwt token: În primul rând, trebuie să extrageți jetonul JWT din cererea primită. Acest lucru se găsește de obicei în antetul „autorizării” cererii.
2. Split JWT Token: JWT Jetoane sunt compuse din trei părți separate de puncte: antet, sarcină utilă și semnătură. Trebuie să împărțiți jetonul prin aceste puncte pentru a izola sarcina utilă, care conține detaliile utilizatorului.
3. Decodificați sarcina utilă: sarcina utilă este codificată BASE64URL. Puteți utiliza funcția `base64ToString` în aplicațiile logice pentru a o decoda. Cu toate acestea, trebuie să vă asigurați că șirul de bază64 este captusit corespunzător cu "=" pentru a face lungimea sa un multiplu de 4.
4. Parse JSON: Odată decodat, sarcina utilă va fi un șir JSON. Utilizați funcția `JSON` în aplicațiile logice pentru a analiza acest șir într -un obiect JSON cu care puteți lucra.
Iată un exemplu simplificat despre cum ar putea arăta acest lucru în aplicațiile logice:
- Split JWT Token: Utilizați o expresie precum `split (triggerbody ()? ['Autorizare'], '.')` Pentru a împărți jetonul.
- decodificați sarcina utilă: anexată "=" pentru a asigura o căptușeală corespunzătoare și apoi utilizați `base64ToString` pentru a o decoda.
- Parse JSON: Utilizați funcția `JSON` pentru a analiza sarcina utilă decodificată.
Pentru o abordare mai reutilizabilă, luați în considerare crearea unei aplicații de logică pentru copii special pentru analizarea jetoanelor JWT, așa cum este descris în [3]. Acest lucru vă permite să integrați cu ușurință analizarea JWT în mai multe aplicații logice.
If you need to validate the token (check its signature), you would typically use an external service or library, as Logic Apps does not natively support JWT validation. Cu toate acestea, pentru a extrage pur și simplu cererile fără validare, pașii de mai sus sunt suficienți.
Citări:
[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://autosops.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-validate-jwt-dotnet/
[7] https://github.com/auth0/jwt-decode
[8] https://supertokens.com/blog/revoking-access-with-a-jwt-blacklist
[9] https://fusionAuth.io/dev-tools/jwt-decoder
[10] https://rakhesh.com/azure/parsing-json-tokens-in-a-logic-app/
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/