Я новичок в веб-разработке, так что, может быть, я далеко.Я нахожусь в интрасети и хочу использовать авторизацию Windows для моего внешнего приложения реагирования.Я могу получить доступ к конечной точке по URL-адресу браузера, но в моем приложении реагирования появляется ошибка 401.
- Windows Server 2008 IIS
- Аутентификация Windows на
- Анонимная аутентификация выключена
- iisnode
- уже выставлен AUTH_USER, и это работает
- приложение экспресс-бэкэнда
- промежуточное программное обеспечение Cors
// front end test code
var axios = require('axios')
var config = {
method:'get',
url:'someURLendPointThatWorks',
timeout: 1000,
withCredentials: true
};
axios(config)
.then(response => {console.log(response)})
.catch(error => {console.log(error)})
// express backend app.js
const express = require('express')
// file path functions
const path = require('path')
// cross origin resource sharing
const cors = require('cors')
// route imports
const ntRouter = require('./routes/nt')
const apiRouter = require('./routes/api')
var app = express()
// cross origin resource sharing
// https://daveceddia.com/access-control-allow-origin-cors-errors-in-react-express/
app.use(cors({
origin:'*',
credentials: true
}))
// Routes
app.use(ntRouter)
app.use('/api', apiRouter)
const port = process.env.PORT || 3000
app.listen(port, () => console.log(`Listening on port ${port}`))
// routes/nt.js
const express = require('express')
const router = express.Router()
router.use((req, res, next) => {
var username = req.headers['x-iisnode-auth_user'];
var authenticationType = req.headers['x-iisnode-auth_type'];
req.NT = username
next()
})
module.exports = router
// routes/api.js
const express = require('express')
const router = express.Router()
// check to see if you're authorized, returns your NT
router.get('/', (req, res) => {
res.send(`Your NT is ${req.NT}`)
})
module.exports = router