Node.js Node js:在模型之外使用类似模型的代码

Node.js Node js:在模型之外使用类似模型的代码,node.js,express,Node.js,Express,我正在尝试编写一个带有Facebook身份验证的小api,由于我是node.js的新手,我对如何构造这个api有点困惑 我有一个名为auth.js的路由,如下所示: var express = require('express'); var crypto = require('crypto'); var rp = require('request-promise'); var router = express.Router(); router.post('/', function(req,

我正在尝试编写一个带有Facebook身份验证的小api,由于我是node.js的新手,我对如何构造这个api有点困惑

我有一个名为auth.js的路由,如下所示:

var express = require('express');
var crypto = require('crypto');
var rp = require('request-promise');

var router = express.Router();

router.post('/', function(req, res) {
    rp('https://graph.facebook.com/me?access_token=' + req.body.fbAccessToken).then(function(body) {
        var json = JSON.parse(body);
        if(json.error) { res.status(403).send(json.error.message); }

        var user = new User({
            userId: json.id,
            fbAccessToken: req.body.fbAccessToken,
            apiAccessToken: crypto.randomBytes(64).toString('hex'),
            firstName: json.first_name,
            lastName: json.last_name,
            email: json.email
        });

        user.save(function(err) {
            if (err) throw err;
            return user.userId;
        });
    }).then(function(userId) {
        res.status(201).send('something');
    }).catch(function(err) {
        res.status(403).send(err);
    });
});

module.exports = router;
当路由收到帖子时,它从请求中获取Facebook令牌,并使用Facebook graph API检查其是否合法。道歉如果承诺的东西看起来也有点古怪,我也在努力学习

无论如何,我也有一个用户模型和一个User.js路由。我想知道的是,在我的auth路径中发生的用户创建是否应该移到用户模型中,并且从这里调用模型函数?可能是通过用户路线


干杯

是的,是的。我认为用户的东西可以放在/user下,如果用户创建在它自己的模块中,那么它会更干净


顺便说一句,你看到了吗?

我不需要fbgraph,谢谢,我只需要一次访问graph API。用户创建代码会出现在我的模型或路径中吗?我如何从auth.js调用它?