I'm new to web development so maybe I'm way off. I'm inside an intranet and want to use windows authorization for my front end react app. I'm able to access the endpoint from the browser URL but I get error 401 unauthorized inside my react app.
- Windows server 2008 IIS
- Windows Authentication on
- Anonymous Authentication off
- iisnode
- already exposed AUTH_USER and that works
- express backend app
- cors middleware
- credentials: true
- cors middleware
// 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