如何使用mysql数据库在node.js中登录API
How to make login API in node.js using mysql database
我是node.js的新手,我想使用express和mysql数据库制作一个登录api,请与我分享你的想法和示例。
首先,您应该熟悉express框架。
其次,您需要创建一个mysql数据库,其中包含以下表:
- 用户
- userId|name|其他字段
- 身份验证令牌
- userId|令牌
这些将是您应用程序的构建块。基本上,从这里开始,您将能够使用单个token
对http请求进行身份验证,该token
将被分配给一个userId
。
一旦我们设置了数据库,我们就可以开始添加express
路由。
- 添加身份验证路由
以下路由意味着前面有/api/v1/
前缀的all
请求将在继续之前通过./api/middlewares/validateRequest
文件。
app.all('/api/v1/*', [require('./app/middlewares/validateRequest')]); // Authenticate all api/v1/ req
validateRequest文件可能如下所示:
module.exports = function(req, res, next) {
// When performing a cross domain request, you will recieve
// a preflighted request first. This is to check if our the app
// is safe.
// We skip the token outh for [OPTIONS] requests.
//if(req.method == 'OPTIONS') next();
// CHECK FOR A token inside the header of the request
var token = (req.body && req.body.access_token) || (req.query && req.query.access_token) || req.headers['x-access-token'];
var key = (req.body && req.body.x_key) || (req.query && req.query.x_key) || req.headers['x-key'];
... DO ALL YOUR MYSQL QUERIES HERE TO VALIDATE THE TOKEN
- 在下面添加您的其他路线
如果要对路由进行身份验证,请添加api/v1/
前缀。
app.use('/api/v1/post/', require('./app/services/post/index.js'));
这是一个非常基本的例子。我建议你看一些教程!E.g
- https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
- http://teknosains.com/i/simple-crud-nodejs-mysql
如果你不想构建mysql数据库并自己查询,你可以考虑使用ORM
,比如sequelize:https://github.com/sequelize/sequelize
使用Express框架在node.js中创建一个API。请仔细阅读。这是开发API的简单快捷的方法。使用以下库解析您的请求
https://github.com/expressjs/body-parser
app.route('post',function(req,res,next){
console.log(req.body);//here you will get all the API body
// use req.body.emailkey and req.body.passwordkey to find the user in mysql
})
请先去快速图书馆。我希望您可以通过使用express创建任何类型的API。
相关文章:
- 如何使用js自动登录
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- Facebook示例JS登录未加载
- 使用Node.js登录Shopify
- 使用 Angular JS 登录,$http请求不起作用
- 谷歌使用 Ember.js 登录
- Node.js+Ember.js登录系统
- 节点JS:登录不起作用
- 可以't使用Prototype.js登录Tiny Tiny RSS API
- 试图使用phantom.js登录facebook
- 使用Node.js登录
- Node.js登录到博客网站并创建新帖子
- 如何知道用户是否在跨子域使用passport.js登录
- 使用Node.JS登录和抓取远程网站
- 使用Node.js登录后不能调用JS和图像文件
- 无法使用MongoDB和Node.js登录
- facebook js登录页面在IE10中不断重新加载
- Rails / JS - G+登录按钮只在页面重新加载后在某些情况下工作
- Flux+React.js登录/注册流
- JS登录弹出窗口在Jquery中不起作用