title: NODE + JWT + Mongo(简单实现权限管理) tags: NODE,JWT,Mongo

grammar_cjkRuby: true

[toc]

JWT简介

JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA.(JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以在各方之间作为JSON对象安全地传输信息。 此信息可以通过数字签名进行验证和信任。 JWT可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对进行签名。)

应用

知道了JWT的用途后,我们就开始针对授权来结合node做简单的实现。

目录结构

说明:config.js为全局配置文件,user.js为Mongo数据库对应的user实体,index.js为项目入口文件。

    //获取加密的信息
    apiRoutes.get('/', function (req, res) {
      req.decoded.user.password = undefined;
      res.json(req.decoded.user);
    });

    //获取所有用户
    apiRoutes.get('/list', function (req, res) {
      User.find({}, function (err, users) {
        res.json(users);
      });
    });

    // 注册API路由
    app.use('/api', apiRoutes);


```