如何使用mysql数据库在node.js中登录API

How to make login API in node.js using mysql database

本文关键字:js 登录 API node 何使用 mysql 数据库      更新时间:2023-09-26

我是node.js的新手,我想使用express和mysql数据库制作一个登录api,请与我分享你的想法和示例。

首先,您应该熟悉express框架。

其次,您需要创建一个mysql数据库,其中包含以下表:

  1. 用户
    • userId|name|其他字段
  2. 身份验证令牌
    • userId|令牌

这些将是您应用程序的构建块。基本上,从这里开始,您将能够使用单个token对http请求进行身份验证,该token将被分配给一个userId

一旦我们设置了数据库,我们就可以开始添加express路由。

  1. 添加身份验证路由

以下路由意味着前面有/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
  1. 在下面添加您的其他路线

如果要对路由进行身份验证,请添加api/v1/前缀。

app.use('/api/v1/post/', require('./app/services/post/index.js')); 

这是一个非常基本的例子。我建议你看一些教程!E.g

  1. https://codeforgeek.com/2015/01/nodejs-mysql-tutorial/
  2. 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。