I'm trying to send a POST request to a URL, using fetch().
I'm deliberately setting the Authorization header but when I inspect the response in Firefox Dev Tools it outputs following error "Missing request header 'Authorization' for method parameter of type String".
        var target_url = "https://api.sonos.com/login/v3/oauth/access";
        var encoded_msg = btoa(client_id + ':' + secret); // base64-encodes client_id and secret using semicolon as delimiter
        var params = `grant_type=authorization_code` + `&code=${authCode}` + `&redirect_uri=${redirect_uri}`;
        var myHeaders = new Headers({
            'Authorization': `Basic ${encoded_msg}`,
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'POST',
            'Content-Length': params.length,
            'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
        });
    
        fetch(target_url, {
            method: 'POST',
            mode: 'no-cors',
            credentials: 'include',
            redirect: 'follow',
            headers: myHeaders,
            body: params
        })
        .then(response => {
            console.log("Status: " + response.status);
            console.log("StatusText: " + response.statusText);
            console.log("Type: " + response.type);
            console.log("URL: " + response.url);
        });
What removes the Authorization-Header, why and how do I prevent it?
Edit:
For Clarification, I'm using Firebase Cloud Functions to host my webpage from which I send the request to the Sonos Authorization API.
Using Postman, the request goes through and I get the correct response.
 
    