电子浏览器窗口密码提示

时间:2019-06-20 07:00:59

标签: electron

我有一个简单的电子应用程序,可将其包裹在网络应用程序中。 Web应用程序提示输入用户名,但是电子提示不显示提示,而是直接转到“ 401授权要求”页面。是否需要更改设置以显示提示?我似乎在文档中找不到它。任何帮助表示赞赏。

const { app, BrowserWindow } = require('electron');

function createWindow() {
    browserWindow = new BrowserWindow({});
    browserWindow.loadURL('https://domain')
}

app.on('ready', createWindow);

1 个答案:

答案 0 :(得分:1)

收听此"login" event

创建自己的提示。例如,创建一个加载HTML表单的浏览器窗口,当用户填写用户名和密码字段时,将凭据通过ipc calls传递回回调。

app.on("login", (event, webContents, request, authInfo, callback) => {
  event.preventDefault();
  createAuthPrompt().then(credentials => {
    callback(credentials.username, credentials.password);
  });
});

function createAuthPrompt() {
  const authPromptWin = new BrowserWindow();
  authPromptWin.loadFile("auth-form.html"); // load your html form

  return new Promise((resolve, reject) => {
    ipcMain.once("form-submission", (event, username, password) => {
      authPromptWin.close();
      const credentials = {
        username,
        password
      };
      resolve(credentials);
    });
  });
}