用于令牌转发的Express.js中间件

时间:2016-09-15 14:20:54

标签: node.js express token middleware

我在SSO方案中,而我的 express 应用会收到令牌身份验证请求,然后需要从另一台服务器获取具有相同令牌的数据。

如何使用中间件自动执行此过程?

基本解决方案 每个请求都设置令牌

var ApiService = require('ApiService.js');
var apiService = new ApiService();

router.route('/')
        .get(function (req, res, next) {

            // getting the token and set to for the api library
            apiService.setToken(req.get('Authorization'));

            apiService.request({
                url: 'route-to-data',
                method: 'get'
            })
                    .then(function (response) {
                        //send data back
                    })
                    .catch(function (response) {})
        })

快速中间件 使用locale将apiservice与用户令牌一起存储

var ApiService = require('../apiService/ApiService.js');
var apiService = new ApiService();

var TokenForwarder = function (req, res, next) {
    apiService.setToken(req.get('Authorization'));
    res.locals.apiService = apiService;
    next();
};

module.exports = TokenForwarder;

我不太喜欢这个解决方案,有更好的方法吗?

0 个答案:

没有答案