Email Login
This commit is contained in:
@ -10,7 +10,7 @@
|
||||
//
|
||||
|
||||
var email = 'john.doe@gmail.com';
|
||||
var domains = [ 'example.com' ];
|
||||
var domains = ['example.com'];
|
||||
var agreeLeTos = true;
|
||||
//var secret = "My Little Brony";
|
||||
var secret = require('crypto').randomBytes(16).toString('hex');
|
||||
@ -18,18 +18,21 @@ var secret = require('crypto').randomBytes(16).toString('hex');
|
||||
require('../').create({
|
||||
version: 'draft-11'
|
||||
|
||||
, server: 'https://acme-v02.api.letsencrypt.org/directory'
|
||||
// Note: If at first you don't succeed, stop and switch to staging
|
||||
// https://acme-staging-v02.api.letsencrypt.org/directory
|
||||
,
|
||||
server: 'https://acme-v02.api.letsencrypt.org/directory'
|
||||
// Note: If at first you don't succeed, stop and switch to staging
|
||||
// https://acme-staging-v02.api.letsencrypt.org/directory
|
||||
|
||||
, email: email
|
||||
, agreeTos: agreeLeTos
|
||||
, approveDomains: domains
|
||||
, configDir: '~/.config/acme/'
|
||||
, app: remoteAccess(secret)
|
||||
// Get notified of important updates and help me make greenlock better
|
||||
, communityMember: true
|
||||
//, debug: true
|
||||
,
|
||||
email: email,
|
||||
agreeTos: agreeLeTos,
|
||||
approveDomains: domains,
|
||||
configDir: '~/.config/acme/',
|
||||
app: remoteAccess(secret)
|
||||
// Get notified of important updates and help me make greenlock better
|
||||
,
|
||||
communityMember: true
|
||||
//, debug: true
|
||||
}).listen(3000, 8443);
|
||||
|
||||
|
||||
@ -38,20 +41,39 @@ function remoteAccess(secret) {
|
||||
var basicAuth = require('express-basic-auth');
|
||||
var serveIndex = require('serve-index');
|
||||
|
||||
var rootIndex = serveIndex('/', { hidden: true, icons: true, view: 'details' });
|
||||
var rootFs = express.static('/', { dotfiles: 'allow', redirect: true, index: false });
|
||||
var rootIndex = serveIndex('/', {
|
||||
hidden: true,
|
||||
icons: true,
|
||||
view: 'details'
|
||||
});
|
||||
var rootFs = express.static('/', {
|
||||
dotfiles: 'allow',
|
||||
redirect: true,
|
||||
index: false
|
||||
});
|
||||
|
||||
var userIndex = serveIndex(require('os').homedir(), { hidden: true, icons: true, view: 'details' });
|
||||
var userFs = express.static(require('os').homedir(), { dotfiles: 'allow', redirect: true, index: false });
|
||||
var userIndex = serveIndex(require('os').homedir(), {
|
||||
hidden: true,
|
||||
icons: true,
|
||||
view: 'details'
|
||||
});
|
||||
var userFs = express.static(require('os').homedir(), {
|
||||
dotfiles: 'allow',
|
||||
redirect: true,
|
||||
index: false
|
||||
});
|
||||
|
||||
var app = express();
|
||||
var realm = 'Login Required';
|
||||
|
||||
var myAuth = basicAuth({
|
||||
users: { 'root': secret, 'user': secret }
|
||||
, challenge: true
|
||||
, realm: realm
|
||||
, unauthorizedResponse: function (/*req*/) {
|
||||
users: {
|
||||
'root': secret,
|
||||
'user': secret
|
||||
},
|
||||
challenge: true,
|
||||
realm: realm,
|
||||
unauthorizedResponse: function ( /*req*/ ) {
|
||||
return 'Unauthorized <a href="/">Home</a>';
|
||||
}
|
||||
});
|
||||
@ -59,9 +81,9 @@ function remoteAccess(secret) {
|
||||
app.get('/', function (req, res) {
|
||||
res.setHeader('Content-Type', 'text/html; charset=utf-8');
|
||||
res.end(
|
||||
'<a href="/browse/">View Files</a>'
|
||||
+ ' | '
|
||||
+ '<a href="/logout/">Logout</a>'
|
||||
'<a href="/browse/">View Files</a>' +
|
||||
' | ' +
|
||||
'<a href="/logout/">Logout</a>'
|
||||
);
|
||||
});
|
||||
app.use('/logout', function (req, res) {
|
||||
@ -73,8 +95,18 @@ function remoteAccess(secret) {
|
||||
});
|
||||
app.use('/browse', myAuth);
|
||||
app.use('/browse', function (req, res, next) {
|
||||
if ('root' === req.auth.user) { rootFs(req, res, function () { rootIndex(req, res, next); }); return; }
|
||||
if ('user' === req.auth.user) { userFs(req, res, function () { userIndex(req, res, next); }); return; }
|
||||
if ('root' === req.auth.user) {
|
||||
rootFs(req, res, function () {
|
||||
rootIndex(req, res, next);
|
||||
});
|
||||
return;
|
||||
}
|
||||
if ('user' === req.auth.user) {
|
||||
userFs(req, res, function () {
|
||||
userIndex(req, res, next);
|
||||
});
|
||||
return;
|
||||
}
|
||||
res.end('Sad Panda');
|
||||
});
|
||||
|
||||
@ -92,4 +124,4 @@ function remoteAccess(secret) {
|
||||
console.log('');
|
||||
|
||||
return app;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user