Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 是否可以获取快速路由器的基本URL大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个身份验证中间件,需要调用外部服务并提供回调URl.例如:

var express = require('express');
var app = express();

// This will work just fine
app.use('/',getAuthRouter());

// The redirects here will end up going to /oauth/callBACk 
//    instead of /admin/oauth/callBACk
app.use('/admin',getAuthRouter());

function getAuthRouter() {
  var authRouter = express.Router();

  // Setup auth routes
  var callBACkUrl = '/oauth/callBACk';
  var loginUrl    = '/login';

  authRouter.get(callBACkUrl,.... });
  authRouter.get(loginUrl,function(req,res,next){
    // Make call to OAuth server
    res.redirect("http://authserver/?callBACk=" + callBACkUrl);
  });

  return authRouter;
}

问题是authRouter不知道它实际上是在/ admin下安装的,因此它无法将其添加到回调参数中.

有什么方法可以在getAuthRouter函数中得到它吗?

解决方法

使用专为此用例设计的 request.baseUrl.

大佬总结

以上是大佬教程为你收集整理的node.js – 是否可以获取快速路由器的基本URL全部内容,希望文章能够帮你解决node.js – 是否可以获取快速路由器的基本URL所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。