//ملف طبقه وسيطه const jwt = require('jsonwebtoken');const models = require('../models/index');const isLogedIn =async(req, res, next)=>{try{//take token form headers and verify it to and use JWT password in env to access the jwt to verify tokenconst token = req.headers.authorization
// after take token use verify mothed to compayr the secrt key to make token verifyed const deCoded = jwt.verify(token, process.env.JWT_SECRET);// take the token and add it to req.currentUser to be can use it in any where but should use it as meddilWhere
req.currentUser = deCoded;//get req currntUser form deCoded and find the idconst auhter = req.currentUser;const userShack =await models.User.findById(auhter)// see if user is exsest im db and see if token exsest in authorization headersif(!token ||!userShack){return res.status(401).json({message:'error token or user not exsist'})}
next()}catch(e){
res.status(500).json(e);}};
module.exports = isLogedIn;
هنا ملف الـتشفير
exports.login =async(req, res)=>{const{ email, password }= req.body;try{const user =await models.User.findOne({email});// compare the password from register to real password using bcrypt moduleconst authPassword =await bcrypt.compare(password, user.password);// if authPassword is true sgin data useing JWt module and print it in json bodyif(authPassword){const token = jwt.sign({_id: user._id, name: user.name, email: user.email}, process.env.JWT_SECRET);// here we take token to save it in loaclStorg
res.status(200).json({accessToken: token});}else{
res.status(401).json({ message:"بريد إلكتروني أو كلمة مرور غير صالحة"});};}catch(error){
console.error(error);
res.status(500).json({ message:"Error during login", error: error.message });}};
الrouteing
router.post('/login', userController.login);
الان السؤال لو افترضنا انني لا اريد استعمال jwt ابدا كعمل موقع صفحه هبوط او اي موقع بسيط جدا ,فكيف سيتم حفظ تسجيل المستخدم بدون jwt و كطبقه وسيطه هل سنتعمل req.headers.authorization
السؤال
Bandar Abuseada
هنا ملف الـتشفير
الrouteing
الان السؤال لو افترضنا انني لا اريد استعمال jwt ابدا كعمل موقع صفحه هبوط او اي موقع بسيط جدا ,فكيف سيتم حفظ تسجيل المستخدم بدون jwt و كطبقه وسيطه هل سنتعمل req.headers.authorization
مستعملا postman لختابر التصال؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.