Vaccano
Vaccano

Reputation: 82507

Add a Bearer Token to a Breezejs fetchMetadata Call

My breeze services works great. But I just moved it behind a WSO2 API Manager. It now needs a Bearer Token for each call.

I have the Bearer Token. But I can't seem to figure out how to add it to the Metadata Call.

I tried something like this. But it did not add a header to the metadata call:

    var ajaxAdapter: any = breeze.config.getAdapterInstance('ajax');

    ajaxAdapter.defaultSettings = {
        headers: {
            "X-Test-Header": "foo2"
        }
    }

Does the fetchMetadata use a different system from the ajax adapter?

How can I add a header to the Fetch Metadata call?

Upvotes: 1

Views: 103

Answers (1)

Vaccano
Vaccano

Reputation: 82507

Turns out I was using the Fetch API. So I had to do it that way. Here is what my setup looks like:

setupFetchClient() {
    let httpClient = new HttpClient();
    httpClient.configure(config => {

        config.withDefaults({
            headers: {
                'Content-Type': 'application/json',
                'Accept': 'application/json',
            }
        })
        .withInterceptor({
            request(request: Request) {
                let accessToken = getAccessToken();
                request.headers.append('Authorization', 'Bearer ' + accessToken);
                return request;
            },
            responseError(error) {
                return error;
            }
        })
        .useStandardConfiguration();
    });

    // Aurelia Specific Code.
    Container.instance.registerInstance(HttpClient, httpClient);
}

Upvotes: 3

Related Questions