Problems using fetch in a render process

I’m having problems using fetch in my electron app.
My app functions fine when built using Electron 3.1.9 but when I try to use anything greater that Electron 4.0.0 fetch works once only, then fails giving an error:

‘Failed to load resource: net::ERR_TOO_MANY_REDIRECTS’

I’m creating the BrowserWindow like this:

win = new BrowserWindow({
	show: false,
	x: x,
	y: y,
	width: width,
	height: height,
	titleBarStyle: 'hidden',
	minWidth: 500,
	minHeight: 372,
	backgroundColor: theme,
	webPreferences: {
		//devTools: false,
		preload: path.join(__dirname, './preload.min.js'),
		nodeIntegration: true,
		contextIsolation: false
	},
	icon: path.join(__dirname, '../assets/icon/Icon.icns')
})

and I’m using fetch in the render process with these settings:

init = {
	
	method: 'get',
	credentials: 'include',
	headers: {
		'Authorization': 'Basic ' + btoa( username + ':' + password ),
		'Content-Type': 'application/json',
	},
	mode: 'cors'
}

I can’t work out if it’s a problem with how I’m setting up the BrowserWindow, how I’m setting up fetch, or if I’m trying to do something that’s just not possible in Electron 4+.