"403 invalid client secret" when refreshing access token

Is wrong, you are adding “channel” to the end of “clientsecret”

“url” is appended to “baseUrl”

You’ve messed up how request works.

   request({
	url: 'https://id.twitch.tv/oauth2/token' + 
			'?grant_type=refresh_token' +
			'&refresh_token=' + refreshtoken + 
			'&client_id=' + clientID +
			'&client_secret=' + clientSecret,
	method: 'POST',
	json: true
    }, 

And as a side note, request is deprecated, you should consider moving off request to a newer library