0
我正在嘗試使用Facebook身份驗證編寫一個小api,因爲我是新到node.js的,我只是有點困惑,應該如何構造這個。節點js:在模型外部使用類似模型的代碼
我有一個路線稱爲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的圖形API是合法的一個職位。 (道歉,如果承諾的東西看起來有點時髦,我也試圖學習)。
無論如何,我也有用戶模型和user.js路由。我想知道的是,如果發生在我的auth路由中的User創建應該移動到User模型,並且以某種方式從這裏調用模型函數?通過用戶路線也許?
乾杯
我不需要fbgraph謝謝,我只對圖API進行單個GET。用戶創建代碼會在我的模型或路線中進行嗎?如何從auth.js中調用它? – millarnui