منصوبے کے بارے میں

jsonwebtoken Auth0 کی تیار کردہ JSON Web Tokens (RFC 7519) کی ایک وسیع پیمانے پر استعمال ہونے والی Node.js پر عمل درآمد ہے۔ یہ Node.js ایپلیکیشنز میں محفوظ ٹوکن پر مبنی تصدیق اور اجازت کو قابل بناتا ہے۔ اہم صلاحیتیں: - **ٹوکن سائننگ (jwt.sign)**: پے لوڈ دعووں (exp, nbf, aud, iss, sub, jti, iat) کے ساتھ JWTs بنائیں، ہم وقت (HMAC) یا غیر ہم وقت (RSA, ECDSA, RSA-PSS) الگورتھمز کا استعمال کرتے ہوئے۔ ہم وقت اور غیر ہم وقت آپریشن کو سپورٹ کرتا ہے۔ اختیارات میں الگورتھم کا انتخاب (پہلے سے طے شدہ HS256)، میعاد ختمی کے اوقات (expiresIn, notBefore)، حسب ضرورت ہیڈرز، کلیدی IDs، اور پرانی RSA کیز کے لیے غیر محفوظ کلیدی سائز کی اجازت شامل ہیں۔ - **ٹوکن تصدیق (jwt.verify)**: ٹوکن کے دستخط اور دعووں کی توثیق کریں۔ خفیہ کلید، PEM عوامی کلید، یا کلید حاصل کرنے والا کال بیک (JWKS اینڈ پوائنٹس کے ساتھ مفید) قبول کرتا ہے۔ الگورتھم، سامعین، جاری کنندہ، JWT ID، موضوع، میعاد ختمی (clockTolerance کے ساتھ)، not-before، اور زیادہ سے زیادہ ٹوکن عمر کی توثیق کرتا ہے۔ جب complete آپشن سیٹ ہوتا ہے تو ڈی کوڈ شدہ پے لوڈ یا مکمل ٹوکن آبجیکٹ (ہیڈر، پے لوڈ، دستخط) لوٹاتا ہے۔ - **ٹوکن ڈی کوڈنگ (jwt.decode)**: دستخط کی تصدیق کے بغیر ٹوکن کے پے لوڈ اور ہیڈر کا معائنہ کریں (ناقابل اعتماد ان پٹ کے لیے نہیں)۔ - **معاون الگورتھم**: HS256, HS384, HS512 (HMAC); RS256, RS384, RS512 (RSASSA-PKCS1-v1_5); PS256, PS384, PS512 (RSASSA-PSS, Node ≥6.12.0/≥8.0.0); ES256, ES384, ES512 (ECDSA); اور "none" (غیر محفوظ)۔ - **خرابی کا انتظام**: الگ الگ خرابی کی اقسام (TokenExpiredError, JsonWebTokenError, NotBeforeError) جن میں پروگرامیٹک ہینڈلنگ کے لیے تفصیلی خصوصیات شامل ہیں۔ - **سیکیورٹی نوٹس**: کم از کم 2048 بٹ RSA ماڈیولس بطور ڈیفالٹ نافذ کیا جاتا ہے؛ Buffer.from کے ذریعے بیس 64 انکوڈ شدہ خفیہ کلیدیں سپورٹ کی جاتی ہیں؛ ناقابل اعتماد ذرائع سے پے لوڈز کو صاف کیا جانا چاہیے۔ یہ لائبریری MIT لائسنس یافتہ ہے، Auth0 کے ذریعے برقرار رکھی جاتی ہے، اور گھومنے والی کیز کے لیے node-jwks-rsa جیسے کلیدی انتظامی حلوں کے ساتھ مربوط ہوتی ہے۔ بڑے ورژن اپ گریڈ کے لیے منتقلی گائیڈز موجود ہیں۔