أحمد عبد الله2 نشر 8 نوفمبر 2021 أرسل تقرير نشر 8 نوفمبر 2021 (معدل) أنا استخدم express jwt وانا عندى نوعين من المستخدمين وهما admin و client واريد ان اضيف role ثالث اسميه مثلا vendor ويكون له بعض الصلاحيات المتوسطة كيف أستخدم isRevocked لفعل هذا .. هذا هو كودى const jwt = require("express-jwt"); function auth() { return jwt({ secret: process.env.SECRET, algorithms: ["HS256"], isRevoked: isRevoked, }).unless({ path: [ // { url: "/api/v1/products", methods: ["GET", "OPTIONS"] }, // { url: /\/api\/v1\/us(.*)/, methods: ["GET", "OPTIONS"] }, "/api/v1/users/login", ], }); } async function isRevoked(req, payload, done) { if (payload.userRole === "admin") { done(); } if (payload.userRole === "client") { console.log(payload.userRole); done(null, true); } } module.exports = auth; تم التعديل في 8 نوفمبر 2021 بواسطة أحمد ابراهيم عبد الله اقتباس
1 Hassan Hedr نشر 9 نوفمبر 2021 أرسل تقرير نشر 9 نوفمبر 2021 الخاصية isRevoked تستخدم لتحديد ما إذا كانت ال token الحالية ملغاة أم لا (صاحب الحساب سحب بعض الصلاحيات - قام بتسجيل خروج من الأجهزة الأخرى - الخ...), عبر استدعاء التابع done بداخلها وتمرير المعامل الثاني ك true اذا كنت تريد تحديد ال token للدور الجديد vendor كملغاة مثل ما تفعل بالدور client يمكنك تضمينه كالتالي: async function isRevoked(req, payload, done) { if (payload.userRole === "admin") { return done(); } if (payload.userRole === "client") { return done(null, true); } if (payload.userRole === "vendor") { return done(null, true); } } اقتباس
السؤال
أحمد عبد الله2
أنا استخدم express jwt وانا عندى نوعين من المستخدمين وهما admin و client واريد ان اضيف role ثالث اسميه مثلا vendor ويكون له بعض الصلاحيات المتوسطة كيف أستخدم isRevocked لفعل هذا .. هذا هو كودى
تم التعديل في بواسطة أحمد ابراهيم عبد الله1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.