快速检测请求是否来自子域?

Express detect if request came from a subdomain?

我正在使用 npm 子域,为了保持路由清洁,我想做类似的事情。

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

  if(req.subdomain) {
    res.redirect('/');
  } else {
    res.sendStatus(200);
  } 

});

在上面,如果用户通过子域登录应用程序,我将重定向到呈现配置文件的子域根目录。

如果用户通过非子域路由登录,它正在使用 ajax 呈现视图,因此我需要发送 200 状态表明用户有效。

我觉得这比每个都有两个单独的回调路由要干净得多。

所以我的问题是,有没有办法检测请求是来自子域还是常规域。

我知道有 req.headers.origin 但我想知道是否有更相关的方法,所以在本地和生产之间来回切换时我不必更改它。

使用 req.subdomains,这将为您提供 url 中使用的子域列表。 Here's 我从哪里得到的信息。