Electron & ReactJS, use BrowserWindow para la autenticación de GitHub oAuth

He configurado Electron de github con ReactJs. Entonces tengo unBrowserWindow y una aplicación de reacción jugando muy bien en esa ventana. Lo que intento lograr es autenticarme con GitHub. Entonces, cuando un usuario presiona elLogin with Github botón, un nuevoBrowserWindow se abre y va a la URL de la aplicación de autorización de github. El problema que tengo tiene que ver con elllamar de vuelta y cómo obtendré el código devuelto por la devolución de llamada. Lo hice con Apache Cordova y elInAppBrowser pero fue diferente ya que pude usarlocalhost como una devolución de llamada.

Lo que he hecho hasta ahora con el electrón es abrir el nuevoBrowserWindow pero después de la autorización no puedo obtener el código de la devolución de llamada.

var authWindow = new BrowserWindow({ width: 800, height: 600, show: true, 'always-on-top': true });
var githubUrl = 'https://github.com/login/oauth/authorize?';
var authUrl = githubUrl + 'client_id=' + options.client_id + '&scope=' + options.scope;

authWindow.loadUrl(authUrl);
authWindow.setVisibleOnAllWorkspaces(true);
authWindow.setResizable(false);

authWindow.addListener('page-title-updated', function(stream) {
  console.log("LOADED");
  console.log(JSON.stringify(stream));
  console.log(stream);

  var url = (typeof stream.url !== 'undefined' ? stream.url : stream.originalEvent.url),
    raw_code = /code=([^&]*)/.exec(stream.url) || null,
    code = (raw_code && raw_code.length > 1) ? raw_code[1] : null,
    error = /\?error=(.+)$/.exec(strean.url);

  if (code || error) {
    authWindow.close();
  }

  // If there is a code in the callback, proceed to get token from github
  if (code) {
    // requestToken(code);
  } else if (error) {
    alert("Oops! Couldn't log authenticate you with using Github.");
  }
});

Donde estoy haciendoconsole.log(JSON.stringify(stream)); yo obtengo{} así que es algo que tiene que hacer eleventListener? ¿Alguna idea o mejores enfoques?

Respuestas a la pregunta(1)

Su respuesta a la pregunta