Как я могу использовать Aurelia Fetch Client для запроса API, защищенного аутентификацией Windows?

У нас есть веб-сервер, обслуживающий статические файлы Aurelia, а также API, сервер защищен NTLM (с помощью встроенной аутентификации Windows в OWIN).

При использовании Aurelia Fetch Client мы можем успешно использовать API без проблем. Вот конфиг, который мы используем:

constructor(private http: HttpClient){
        http.configure(config => {
            config
            .withBaseUrl('api/')
            .useStandardConfiguration();
        });

Однако когда мы используем клиент Aurelia Fetch, мы получаем 401 (Unauthorized) (кажется, отсутствует заголовок авторизации)

constructor(private client: HttpClient) {
        client.configure(cfg => {
            cfg
            .withBaseUrl('http://localhost:80/api/someEndpoint')
            .withDefaults({
                headers: {
                    'Accept' : 'application/json',
                    'X-Requested-With': 'Fetch'
                }
            })

Любые идеи о том, как решить эту проблему, очень ценятся.

1 ответ

Решение

Оказалось, мне не хватало credentials:

constructor(private client: HttpClient) {
        client.configure(cfg => {
            cfg
            .withBaseUrl('http://localhost:80/someEndpoint')
            .withDefaults({
                credentials: 'same-origin',
                headers: {
                    'Accept' : 'application/json',
                    'X-Requested-With': 'Fetch'
                }
            })
Другие вопросы по тегам