أحمد عبد الله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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.