Браузер хочет, чтобы я вошел с NTLM-аутентификацией с Angular6 - PullRequest
0 голосов
/ 29 июня 2018

Мы получаем всплывающие окна 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);
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...