Мы получаем всплывающие окна Windows при выполнении вызовов из нашего приложения Angular6. Похоже, что Chrome и Firefox работают нормально, но IE постоянно выдает нам приглашение для входа в систему, и когда это происходит, другие браузеры ломаются и также просят войти в систему.
Мы считаем, что правильно настроили наш перехватчик аутентификации, мы установили для withCredentials значение true. Мы также настроили прокси с нашими сервисными вызовами.
Наши службы .net размещены на IIS8.5 с аутентификацией Windows и включенным AllowAnonymous.
Дайте мне знать, если я могу предоставить дополнительную информацию.
Proxy
const Agent = require('agentkeepalive-ntlm');
module.exports = {
'/api': {
target: 'url',
secure: false,
pathRewrite: {"^/api" : ""},
logLevel: "debug",
changeOrigin: false,
agent: new Agent({
}),
onProxyRes: proxyRes => {
//let key = 'application/x-www-form-urlencoded';
let key = 'www-authenticate';
proxyRes.headers[key] = proxyRes.headers[key] &&
proxyRes.headers[key].split(',');
console.log(proxyRes.headers);
}
}
};
Auth Interceptor
export class AuthInterceptor implements HttpInterceptor {
constructor(private router: Router) {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
// Clone the request and set the proper headers
req = req.clone({
headers:
new HttpHeaders (
{
"Accept":"application/json"
}),
withCredentials: true
});
console.log(req);
console.log(next.handle(req))
return next.handle(req);
}