کۆدکەرەوەی JWTی بەخۆڕایی
هەر JSON Web Tokenـێک بکەرەوە و بپشکنە. سەرپەڕ، بارگرژی، بەسەرچوون، و مافی ستاندارد ببینە. هەموو شتێک لە وێبگەڕەکەتدا کاردەکات — تۆکنەکان هەرگیز لە ئامێرەکەت دەرناچن.
🔒 تۆکنەکە بە تەواوی لە وێبگەڕەکەتدا کۆدی لادەبردرێت. هیچ شتێک بۆ هیچ سێرڤەرێک نانێردرێت.
چۆن کار دەکات
کۆدلادەرەکە شیکەرێکی دەستنووس و بەبێ پشتبەستنی دەرەکییە کە تەواو لە وێبگەڕەکەتدا ڕادەبات: تۆکنەکە لەسەر خاڵ دابەش دەکات، هەر پارچەیەکی Base64URL دەگۆڕێت بۆ Base64ی سادە بە بەکارهێنانی جێگۆڕکێی ڕیزبەندی و بۆشاییی بۆ چوارگۆشەیی زیاد دەکات، پاشان atob() و JSON.parseی سەرەکی وێبگەڕ بانگدەکات بۆ گەڕاندنەوەی ئۆبجێکتی سەرپەڕ و پارچە. پشکنینی واژۆی ئارەزوومەندانە APIی Web Crypto بەکاردێنێت (crypto.subtle.verify) — بەبێ کتێبخانە، سێرڤەر.
- 1کۆدلادانی Base64URLئامرازەکە JWTـەکە لەسەر دوو جیاکەری خاڵدا دابەش دەکات، سێ پارچە دەدات. هەر پارچەیەک Base64URLـە — کە - و _ لەبری + و / بەکاردێنێت و بۆشایی جێدەهێڵێت. کۆدەکە ئەو پیتانە دەگەڕێنێتەوە و بە هێمای = بۆشایی زیاد دەکات، پاشان atob()ی سەرەکی وێبگەڕ بانگدەکات بۆ کۆدلادانی بایتەکان.
- 2شیکردنەوەی JSON و دەرهێنانی داواکاریبایتی کۆدلادراو بۆ JSON.parse دەنێردرێن بۆ دروستکردنی ئۆبجێکتی سەرپەڕ و پارچە. داواکارییە تۆمارکراوەکانی exp، iat، و nbf وەک مۆری کاتی یونیکس دەردەهێنرێن و دەگۆڕدرێن بۆ ئۆبجێکتی Date؛ دۆخی بەسەرچووبوون هەر 20 چرکە جارێک دووبارە پشکنین دەکرێتەوە لە ڕێگای setIntervalەوە بۆیە تۆکنێک کە کاتێک تابەکە کراوەیە بەسەردەچێت بەخۆکار لە دروست بۆ بەسەرچوو دەگۆڕدرێت. مۆری کاتی نیسبی ('لە 3 ڕۆژدا'، '2 کاتژمێر لەمەوپێش') بە Intl.RelativeTimeFormat فۆرمات دەکرێن بە بەکارهێنانی زمانی وێبگەڕەکەت.
- 3پیشاندانی واژۆ و پشکنینی ئارەزوومەندانەڕیزبەندی خاوی Base64URLی واژۆ لەگەڵ سەرپەڕ و پارچەدا نیشان دەدرێت. ئەگەر کلیلێک دابین بکەیت، ئامرازەکە crypto.subtle.importKey و crypto.subtle.verify بانگدەکات بۆ پشکنینی واژۆکە بەشێوەیەکی ناوخۆیی. کلیلی هاوبەشی HMAC (HS256/384/512)، کلیلی گشتی RSAی کۆدکراوی PEM (RS256/384/512)، و کلیلی گشتی ECDSA یان ئۆبجێکتی JWK/JWKS (ES256/384/512) وەردەگرێت — دیاریکراو بە خانەی alg لە سەرپەڕدا.
- 4هیچ داواکاری تۆڕ نییەهەر هەنگاوێک — کۆدلادان، ژمێریاری مۆری کات، و پشکنینی کریپتۆگرافی — لەناو ئەنجینی جاڤاسکریپتی وێبگەڕدا ڕادەبات. تۆکنەکە و هەر بابەتی کلیلێک کە دەینووسیت هەرگیز لە ئامێرەکەت دەرناچن.
JWTەکان زۆرجار داواکاری دانیشتن، ناسنامەی بەکارهێنەر، و مەودای دەسەڵات هەڵدەگرن؛ ئەم ئامرازە کۆدیان لادەدات و بەبژاردنانە پشکنینیان دەکات تەواو لە وێبگەڕەکەتدا بە بەکارهێنانی atob() و APIی Web Crypto، بۆیە نە تۆکنەکە و نە هیچ کلیلێک کە دەینووسیت بۆ هیچ شوێنێک نانێردرێت.
ئامرازە پەیوەندیدارەکان
ئینکۆدەر و دیکۆدەری URL
URL و زنجیرە پرسیارەکان ئینکۆد و دیکۆد بکە. پشتیوانی لە encodeURIComponent، decodeURIComponent کردار و شیکردنەوەی زنجیرە پرسیار دەکات.
پشکنەری UUID
هەر UUID یان ULIDـێک شیفرەکراوی بکەرەوە — وەشان، جۆر، و کاتی دروستبوونی نێوتێکراو لە v1، v6، v7، و ULIDـەکان ببینە. بە تەواوی لە وێبگەڕەکەتدا کاردەکات.
کۆدکەر و کۆدکەرەوەی Base64
دەق یان فایل بکۆدە بۆ Base64، یان زنجیرەی Base64 بکەرەوە بۆ دەقی سادە. خێرا، تایبەتمەند، و بێبەرامبەر.