繁体   English   中英

如何使用标头通过令牌访问 API 端点?

[英]How to access an API endpoint through a token using headers?

目前我有一个公共的 api 实现,任何人都可以访问它。

我的意图是用户现在通过 header 传递一个令牌,以便他们可以从端点访问数据。 但我不知道如何在我的代码中实现它。

我感谢您的帮助!

router.get('/AllReports' , (req , res) =>{
  PluginManager.reports()
    .then(reports =>{
      res.status(200).json({
        reports
      });
    }).catch((err) =>{
      console.error(err);
    });
});

应用程序.js

const express = require('express');
const morgan = require('morgan');
const helmet = require('helmet');
const cors = require('cors');
const bodyParser = require('body-parser');

const middlewares = require('./middlewares/index').middleware;
const api = require('./api');

const app = express();

app.use(morgan('dev'));
app.use(helmet());
app.use(cors());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));


app.get('/', (req, res) => {
  res.json({
    message: '🦄🌈✨👋🌎🌍🌏✨🌈🦄'
  });
});

app.use('/api/v1', api);

app.use(middlewares);

module.exports = app;

要查看 HTTP 请求标头列表,您可以使用:

console.log(JSON.stringify(req.headers));

然后你可以检查令牌是否有效,然后

go 上带加工。

例子

router.get('/', (req, res) => {

  // header example with get
  const authHeader = req.get('Authorization');  //specific header
  console.log(authHeader);
  // example with headers object.  // headers object
  console.log(req.headers);

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM