Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mantık uygulamalarında bir JWT jetonunu nasıl çözebilirim


Mantık uygulamalarında bir JWT jetonunu nasıl çözebilirim


Azure mantık uygulamalarında bir JWT jetonunun kodunun çözülmesi, Node.js veya C#gibi harici kitaplıklar kullanılmadan elde edilebilir. İşte adım adım bir yaklaşım:

1. JWT belirtecini çıkarın: İlk olarak, JWT jetonunu gelen istekten çıkarmanız gerekir. Bu genellikle talebin `` Yetkilendirme '' başlığında bulunur.

2. JWT jetonunu bölün: JWT jetonları, noktalarla ayrılmış üç bölümden oluşur: başlık, yük ve imza. Kullanıcı ayrıntılarını içeren yükü izole etmek için jetonu bu noktalarla bölmeniz gerekir.

3. yükü kodlayın: yük taban 64URL kodludur. Koopu için mantık uygulamalarında `` Base64Tostring 'işlevini kullanabilirsiniz. Bununla birlikte, Base64 dizesinin uzunluğunu 4'ün katları yapmak için düzgün bir şekilde "=" ile doldurduğundan emin olmanız gerekir.

4. Parse Json: Kod çözüldükten sonra, yük bir JSON dizesi olacaktır. Bu dizeyi birlikte çalışabileceğiniz bir JSON nesnesine ayırmak için mantık uygulamalarındaki `json` işlevini kullanın.

İşte bunun mantık uygulamalarında nasıl görünebileceğinin basitleştirilmiş bir örneği:

- JWT jetonunu bölün: jetonu bölmek için `` split (tetikleyici gövde ()? ['Yetkilendirme'], '.') Gibi bir ifade kullanın.
- Yükün kodunu çözün: Ek "=" Uygun dolgu sağlamak için ve ardından kod çözmek için `` Base64Tostring '' kullanın.
- Ayrıştırma JSON: Kod çözülmüş yükü ayrıştırmak için `Json` işlevini kullanın.

Daha yeniden kullanılabilir bir yaklaşım için, [3] 'te açıklandığı gibi JWT jetonlarını ayrıştırmak için bir çocuk mantığı uygulaması oluşturmayı düşünün. Bu, JWT ayrıştırmayı birden çok mantık uygulamasına kolayca entegre etmenizi sağlar.

Jetonu doğrulamanız gerekirse (imzasını kontrol etmeniz), mantık uygulamaları JWT doğrulamasını doğal olarak desteklemediğinden genellikle harici bir hizmet veya kütüphane kullanırsınız. Bununla birlikte, sadece doğrulama olmadan talepleri çıkarmak için, yukarıdaki adımlar yeterlidir.

Alıntılar:
[1] https://stackoverflow.com/questions/54257879/how-to-decode-a-jwt-token-in-sazure-logic-app
[2] https://www.criipto.com/blog/jwt-validation-guide
[3] https://autosysops.com/blog/parse-jwt-tokens-s-azure-logic-apps
[4] https://hasura.io/blog/best-practices-of-using-jwt-with-Graphql
[5] https://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-ecure-your-logic-app-using-api-mangement-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://fususauth.io/dev-tools/jwt-decoder
[10] https://rakhesh.com/azure/parsing-json-tokens-in--logic-app/
[11] https://www.reddit.com/r/azure/comments/u4alct/blog_parse_jwt_token_with_azure_logic_apps/