首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析授权标头时出现Express NTLM错误

解析授权标头时出现Express NTLM错误
EN

Stack Overflow用户
提问于 2019-07-15 17:32:27
回答 1查看 600关注 0票数 0

我发布了一个问题here,但经过一些调查后,我意识到这不是我的axios请求导致的问题。我不知道如何结束一个问题,对不起。

我在尝试发送Axios Get请求到我的express后端服务器时收到以下错误。前端托管在localhost:8080上,后端是localhost:5000。

代码语言:javascript
复制
[express-ntlm] Error when parsing Authorization header for URI http://localhost:5000/api/user/generateToken

这是我的客户端Axios请求

代码语言:javascript
复制
axios.defaults.baseURL = 'http://localhost:5000/';

const generateToken = () => {
    axios
      .get('/api/user/generateToken', {
        withCredentials: true,
      })
      .then(payload => {
        // Set Auth Header with returned JWT Token
      })
      .catch(err => {
        console.log(err.response);
      });

这是站点首次启动后发送的第一个请求,它应该返回一个JWT令牌,我将使用该令牌让用户登录。

然后我让express-ntlm设置让用户登录用户名,以检查他们是否在我们的数据库中,如果是,则返回一个有效的令牌。

设置express-ntlm的服务器代码是

代码语言:javascript
复制
const express = require('express');
const http = require('http');
const path = require('path');
const cors = require('cors');
const ntlm = require('express-ntlm');
const passport = require('passport');

const server = express();

server.use(
  ntlm({
    debug: function() {
      var args = Array.prototype.slice.apply(arguments);
      console.log.apply(null, args);
    },
    domain: 'domain',
    domaincontroller: 'ldap://domainAddress',
  })
);

然后,如果我在浏览器中直接导航到http://localhost:5000/api/user/generateToken,我会得到预期的结果。但是,如果我对url使用axios.get和代理,我会在服务器控制台得到上述错误,在客户端控制台得到一个400Bad Request。

下面是Router.get代码

代码语言:javascript
复制
// @route   GET api/user/generateToken
// @desc    Create JWT Token
// @access  Public
router.get('/generateToken', (req, res) => {
  const errors = {};

  const username = req.ntlm.UserName;

  return User.findOne({ username }).then(user => {
    // Create JWT and return it to the user
  });
});

我不知道下一步该怎么做,要么是axios设置头部所需的一些额外设置,要么是我需要为express-ntlm更改的一些设置。这很奇怪,因为我可以直接转到页面,它可以工作,但使用axios,它失败了。

EN

回答 1

Stack Overflow用户

发布于 2019-09-10 04:30:15

尝试将标题打印到控制台,并检查Authorization标题有什么问题。可能是Axios修改了它。

将您从手动athorization获得的头部与通过axios获得的头部进行比较。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57036925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档