如何使用Aurelia Fetch Client查询受Windows身份验证保护的API?

MaY*_*YaN 5 aurelia aurelia-fetch-client aurelia-http-client aurelia-framework

我们有一个服务于Aurelia静态文件和API的Web服务器,服务器受NTLM保护(在OWIN上使用集成Windows身份验证).

使用Aurelia Fetch Client时,我们可以成功点击API而不会出现问题.这是我们使用的配置:

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

但是,当我们使用Aurelia Fetch Client时,我们得到了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'
                }
            })
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法都非常感谢.

MaY*_*YaN 4

事实证明我错过了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'
                }
            })
Run Code Online (Sandbox Code Playgroud)