NodeJS实现Oauth2.0 RESTful API(1.
2018-01-02 本文已影响354人
冰果2016
项目背景:
现在有一个宠物园需要存储和跟踪宠物的情况,并且需要把宠物园的宠物情况提供给三方的APP,这样可以通过登录三方app也可以查询宠物园的宠物情况。
基于上面的这个使用场景,我们来提供API,允许用户进行身份验证,执行CRUD操作,通过Oauth授权其他应用程序访问API。
项目技术方案:
NodeJS,Express,使用Mogoose与MongoDB进行交互,使用Passport进行身份验证,使用OAuth2orize进行OAuth支持。
目录结构
安装必要的软件NodeJS,Express,安装并执行MongoDB
image.png
其中controller中存放各个接口文件,models中存放数据库操作相关的文件。
创建Server
打开server.js增加下面的内容:
// Get the packages we need
var express = require('express');
// Create our Express application
var app = express();
// Use environment defined port or 3000
var port = process.env.PORT || 3000;
// Create our Express router
var router = express.Router();
// Initial dummy route for testing
// http://localhost:3000/api
router.get('/', function(req, res) {
res.json({ message: '欢迎访问!' });
});
// Register all our routes with /api
app.use('/api', router);
// Start the server
app.listen(port);
console.log('Insert beer on port ' + port);
执行 node server.js
启动服务