如何使用 mysql 数据库在 node.js 中登录 API
How to make login API in node.js using mysql database
我是 node.js 的新手,我想使用 express 和 mysql 数据库登录 api,请与我分享您的想法和示例。
使用 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。
首先你应该熟悉 express 框架。
其次,您需要使用下表创建一个 mysql 数据库:
- 用户
- 用户 ID |姓名 |其他领域...
- Authentication_tokens
- 用户 ID |令牌
这些将成为您应用程序的构建块。基本上从这里你将能够使用单个 token
验证 http 请求,这个 token
将被分配给 userId
。
一旦我们设置了数据库,我们就可以开始添加 express
路由。
- 添加认证路由
下面的路由意味着 all
前面有 /api/v1/
前缀的请求将通过 ./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'));
这是一个非常基本的例子。我建议你看看一些教程!例如
- https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
- http://teknosains.com/i/simple-crud-nodejs-mysql
如果您不想构建 mysql 数据库并自行查询,您可以考虑使用 ORM
,例如 sequelize:https://github.com/sequelize/sequelize
我是 node.js 的新手,我想使用 express 和 mysql 数据库登录 api,请与我分享您的想法和示例。
使用 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。
首先你应该熟悉 express 框架。
其次,您需要使用下表创建一个 mysql 数据库:
- 用户
- 用户 ID |姓名 |其他领域...
- Authentication_tokens
- 用户 ID |令牌
这些将成为您应用程序的构建块。基本上从这里你将能够使用单个 token
验证 http 请求,这个 token
将被分配给 userId
。
一旦我们设置了数据库,我们就可以开始添加 express
路由。
- 添加认证路由
下面的路由意味着 all
前面有 /api/v1/
前缀的请求将通过 ./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'));
这是一个非常基本的例子。我建议你看看一些教程!例如
- https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
- http://teknosains.com/i/simple-crud-nodejs-mysql
如果您不想构建 mysql 数据库并自行查询,您可以考虑使用 ORM
,例如 sequelize:https://github.com/sequelize/sequelize