Encabezados de solicitud no enviados por Service Worker

Estoy tratando de obtener un servicio web de un Service Worker. Este servicio es un JSP asegurado con autenticación Apache básica, por lo que debo proporcionar las credenciales para autenticar en los encabezados de solicitud. La siguiente solicitud funciona bien desde la ventana principal:

self.addEventListener('push', function(event) {
  console.log('Received a push message', event);

  event.waitUntil(
    fetch(ONLINE_SITE_ENDPOINT, {
    method: 'GET',
    mode: 'cors',
    headers: {
        'Accept': 'application/json',
        'Authorization': 'Basic btoa(auth info)'
    }
    }).then(function(response) {
        //process response
    }).catch(function(err) {

    })
  );
});

Ese código está en un ámbito event.waitUntil (), en una función llamada desde un detector de eventos 'push'. Sin embargo, la misma llamada exacta falla con un 401 (no autorizado). El panel Red de las herramientas del desarrollador muestra que los encabezados no se envían:

OPTIONS /latest-new.jsp HTTP/1.1
Host: {an accessible host}
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://localhost
User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36
Access-Control-Request-Headers: accept, authorization
Accept: */*
Referer: http://localhost/service-worker.js
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8

¿Hay algo que falta aquí? o simplemente no se puede lograr de un trabajador de servicio?

Alguna información adicional: simplemente no puede usar XMLHttpRequest ya que está 'No definido' en el ámbito del trabajador del servicio. Los encabezados en el JSP antes de recuperar el JSON:

response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");

ACTUALIZAR: definitivamente hay algo con los encabezados de autenticación de los trabajadores del servicio, ya que las solicitudes de URL no seguras no fallan. El mismo servicio sin la autorización de Apache funciona como se esperaba.