簡體   English   中英

如何通過 JWT 令牌找到論壇?

[英]How can I find a forum by JWT Token?

我想通過 JWT 令牌找到論壇.. 所以如果用戶創建了 3 個論壇,我想列出它們。

我的請求以這種方式顯示:

###
http://localhost:8080/forum/getByOwnerID
Authorization: Bearer {{adminToken}}

或者這樣:

###
http://localhost:8080/forum/getByOwnerID
Authorization: Bearer {{userToken}}

在這兩個上我都想找到他們制作的論壇..

我像這樣創建一個 function :

exports.getByToken = async (req, res, next) => {
  const forum = await Forum.findById(req.token._id);

  if (forum) {
    res.json(forum);
  } else {
    res.status(404).json({ message: "Forum not found" });
  }

  res.json(forum);
}

但結果是找不到論壇:/

我的 ForumModel.js:

const forumSchema = ({
    forumName: {
        type: String,
        required: true,
    },
    forumDescription: {
        type: String,
        required: true,
    },
    user: { 
        type: Schema.Types.ObjectId,
        
        ref: "User"
    },
    published_on: {
        type: String,
        default: moment().format("LLL")
    },
});

如果您在令牌中傳遞了這些東西,那么您應該這樣做。

const { forum:{ _id }} = req.user

全力以赴找到當前用戶,你應該做這樣的事情

const currentUser = req.user;

我假設您使用的端點受到 jwt 身份驗證的保護。

exports.getByToken = async (req, res, next) => {
  const forum = {forum:{_id}} = req.user

  if (forum) {
    res.json(forum);
  } else {
    res.status(404).json({ message: "Forum not found" });
  }

  res.json(forum);
}

我是這樣寫的,但是論壇未定義是錯誤消息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM