undelo

JWT დეკოდერი

დეკოდირე JWT-ის ჰედერი და პეილოადი ფორმატირებულ JSON-ად

დეკოდირებს JWT-ის ჰედერსა და პეილოადს წაკითხვად JSON-ად — ჩასვით ტოკენი, და ორივე ნაწილი მაშინვე ჩნდება, ნათელი შენიშვნით, რომ ეს მხოლოდ დეკოდირებს — ხელმოწერას არ ამოწმებს.

როგორ მუშაობს

JWT არის სამი წერტილით გამოყოფილი Base64URL-კოდირებული სეგმენტი; ეს ხელსაწყო ამ წერტილებზე ყოფს ტოკენს, დეკოდირებს ჰედერისა და პეილოადის სეგმენტებს (ხელმოწერის სეგმენტს გამოტოვებს, რადგან მისი შემოწმებისთვის საიდუმლო ან საჯარო გასაღები დასჭირდებოდა, რომელიც კლიენტის მხარეს არასდროს ჩნდება) და თითოეულს JSON-ად პარსავს საჩვენებლად.

ხშირად დასმული კითხვები

ეს ამოწმებს, ტოკენი ნამდვილია თუ არ ამოწურულა?

არა — ის მხოლოდ ჰედერსა და პეილოადს დეკოდირებს, რომ მათი შიგთავსი წაიკითხოთ. ტოკენი, რომელიც აქ სუფთად დეკოდირდება, შეიძლება მაინც იყოს გაყალბებული, შეცვლილი ან ვადაგასული — ხელმოწერის შემოწმებას გამომცემი საიდუმლო ან საჯარო გასაღები სჭირდება, რომელიც ამ ხელსაწყოს არასდროს გააჩნია.

რატომ თქვა, რომ ტოკენი არასწორია?

JWT-ს ზუსტად სამი წერტილით გამოყოფილი, ცარიელი არარსებული სეგმენტი სჭირდება (ჰედერი, პეილოადი, ხელმოწერა). ყველაფერი სხვა — გამოტოვებული სეგმენტი, ზედმეტი წერტილი ან ცარიელი სეგმენტი — ამ ფორმას არ ემთხვევა და დეკოდირების მცდელობამდე ირიცხება.

რატომ თქვა, რომ ტოკენს არავალიდური JSON აქვს?

ჰედერის ან პეილოადის სეგმენტი Base64URL-იდან წარმატებით დეკოდირდა, მაგრამ მიღებული შედეგი ვალიდურ JSON-ს არ წარმოადგენდა — ეს ნიშნავს, რომ ტოკენის სტრუქტურა უფრო ღრმად არის დაზიანებული, ვიდრე უბრალოდ ამ ხელსაწყოსთვის უჩვეულო ფორმატი.

შემიძლია დავადეკოდირო ტოკენი, რომელსაც არა-JSON პეილოადი აქვს?

არა — ეს ხელსაწყო სტანდარტულ JWT სტრუქტურას ვარაუდობს, სადაც ჰედერიც და პეილოადიც JSON ობიექტებია. სხვა ფორმატის პეილოადის მქონე არასტანდარტული ტოკენები მხარდაჭერილი არ არის.

ჩემი ტოკენი სადმე იგზავნება?

არა — დეკოდირება მთლიანად თქვენს ბრაუზერში ხდება. ეს მნიშვნელოვანია, რადგან JWT-ის პეილოადი ხშირად მომხმარებლის ან სესიის მონაცემებს შეიცავს — აქ არაფერი იტვირთება ან ინახება, თუნდაც ეს ხელსაწყო ხელმოწერას საერთოდ არ ეხება.