【问题标题】:How to access an API endpoint through a token using headers?如何使用标头通过令牌访问 API 端点?
【发布时间】:2020-07-07 03:18:08
【问题描述】:

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

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

感谢您的帮助!

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

app.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;

【问题讨论】:

    标签: node.js api express authentication bearer-token


    【解决方案1】:

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

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

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

    继续处理。

    例子

    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);
    
    });
    
    

    【讨论】:

    • 你能在 router.get 中举一个例子吗?
    • 更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2017-10-11
    • 2012-05-24
    • 2018-12-27
    • 2023-03-18
    相关资源
    最近更新 更多