arg - oauth api
La ventana de Dropbox oauth no funciona (1)
Estoy portando mi aplicación a Electron y me sorprendió descubrir que la autenticación de Dropbox no funciona en este entorno. Sin embargo, funciona en Chrome.
Los botones de inicio de sesión permanecen desactivados y las etiquetas aparecen sobre las entradas.
El siguiente mensaje se muestra en la consola:
La directiva de Content-Security-Policy ''worker-src'' se implementa detrás de una bandera que actualmente está desactivada.
Estoy probando usando [email protected], [email protected] en OS X.
Encontré una pregunta similar, pero parece usar una versión diferente de Electron y tiene un mensaje de error diferente:
La vista de Dropbox oauth no se está procesando correctamente
Actualizar:
El mensaje de Content-Security-Policy
parece estar relacionado con la versión de Chrome. La directiva worker-src
se introdujo en Chrome 59 y [email protected] se envía con Chrome 58.
https://www.chromestatus.com/feature/5922594955984896
Probé con [email protected] que viene con Chrome 59, y los mensajes de la consola se han ido. Pero el problema con la página de autenticación permanece.
Esto sucede porque BrowserWindow
tiene habilitada la bandera nodeIntergration
por defecto. Y esto entra en conflicto con la implementación de RequireJS
con la que se incluyó Dropbox
.
Entonces, la solución sería desactivar nodeIntergration
al crear la ventana del navegador:
const win = new electron.BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: false
}
});
win.loadURL(link);
Aquí hay un pequeño proyecto de demostración: https://github.com/kenjiru/electron-dropbox-sample-app