Implement basic http authentication

This commit is contained in:
Jia Hao 2016-01-22 02:39:52 +08:00
parent 5cb20e9244
commit 7ef855a297
3 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form id="login-form">
<div>
<label for="username-input">Username:</label>
<input type="text" id="username-input"/>
</div>
<div>
<label for="password-input">Password:</label>
<input type="password" id="password-input"/>
</div>
<div>
<button id="submit-form-button" type="submit">Send your message</button>
</div>
</form>
<script src="login.js"></script>
</body>
</html>

View File

@ -0,0 +1,10 @@
var ipcRenderer = require('electron').ipcRenderer;
var form = document.getElementById('login-form');
form.addEventListener('submit', function (event) {
event.preventDefault();
var username = document.getElementById('username-input').value;
var password = document.getElementById('password-input').value;
ipcRenderer.send('login-message', [username, password]);
});

View File

@ -10,6 +10,7 @@ var wurl = require('wurl');
var app = electron.app;
var BrowserWindow = electron.BrowserWindow;
var shell = electron.shell;
var ipcMain = electron.ipcMain;
var buildMenu = require('./buildMenu');
@ -101,6 +102,17 @@ app.on('ready', function () {
});
});
app.on('login', function(event, webContents, request, authInfo, callback) {
event.preventDefault();
var loginWindow = new BrowserWindow();
loginWindow.loadURL('file://' + __dirname + '/components/login/login.html');
ipcMain.once('login-message', function(event, usernameAndPassword) {
callback(usernameAndPassword[0], usernameAndPassword[1]);
loginWindow.close();
});
});
function isOSX() {
return os.platform() === 'darwin';
}