estandar arg oauth electron dropbox-api

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