mirror of
https://github.com/stolksdorf/homebrewery.git
synced 2025-12-20 20:41:28 +00:00
Backend of local login working
This commit is contained in:
@@ -26,16 +26,16 @@ const Homebrew = React.createClass({
|
||||
return {
|
||||
url : '',
|
||||
version : '0.0.0',
|
||||
user : undefined,
|
||||
loginPath : '',
|
||||
|
||||
user : undefined,
|
||||
brew : undefined,
|
||||
brews : []
|
||||
};
|
||||
},
|
||||
componentWillMount: function() {
|
||||
//TODO: remove
|
||||
global.account = this.props.account;
|
||||
global.version = this.props.version;
|
||||
console.log('user', this.props.user);
|
||||
console.log('loginpath', this.props.loginPath);
|
||||
|
||||
//console.log(mapObject(['version', 'brew', 'account'], this.props));
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ const config = require('nconf');
|
||||
const mw = require('./middleware.js');
|
||||
const BrewData = require('./brew.data.js');
|
||||
|
||||
router.get('/admin', mw.adminLogin, (req, res) => {
|
||||
router.get('/admin', mw.adminLogin, (req, res, next) => {
|
||||
return vitreumRender('admin', templateFn, {
|
||||
url : req.originalUrl,
|
||||
admin_key : config.get('admin"key')
|
||||
admin_key : config.get('admin:key')
|
||||
})
|
||||
.then((page) => {
|
||||
return res.send(page)
|
||||
@@ -19,7 +19,7 @@ router.get('/admin', mw.adminLogin, (req, res) => {
|
||||
});
|
||||
|
||||
//Removes all empty brews that are older than 3 days and that are shorter than a tweet
|
||||
router.del('/admin/invalid', mw.adminOnly, (req, res)=>{
|
||||
router.delete('/admin/invalid', mw.adminOnly, (req, res, next)=>{
|
||||
BrewData.removeInvalid(!!req.query.do_it)
|
||||
.then((removedCount) => {
|
||||
return res.join({
|
||||
@@ -14,9 +14,9 @@ app.use(mw.admin);
|
||||
|
||||
|
||||
//Routes
|
||||
app.use(require('./interface.routes.js'));
|
||||
app.use(require('./brew.api.js'));
|
||||
//app.use(require('./admin.api.js'));
|
||||
app.use(require('./interface.routes.js'));
|
||||
app.use(require('./admin.routes.js'));
|
||||
|
||||
if(config.get('NODE_ENV') !== 'staging' && config.get('NODE_ENV') !== 'production'){
|
||||
app.use(require('./dev.routes.js'));
|
||||
|
||||
@@ -1,9 +1,24 @@
|
||||
const router = require('express').Router();
|
||||
const jwt = require('jwt-simple');
|
||||
const auth = require('basic-auth');
|
||||
const config = require('nconf');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
router.get('/dev/login', (req, res, next) => {
|
||||
const user = req.query.user;
|
||||
if(!user){
|
||||
return res.send(`
|
||||
<html>
|
||||
<body>dev login</body>
|
||||
<script>
|
||||
var user = prompt('enter username');
|
||||
if(user) window.location = '/dev/login?user=' + encodeURIComponent(user);
|
||||
</script></html>
|
||||
`);
|
||||
}
|
||||
res.cookie('nc_session', jwt.encode({username : req.query.user}, config.get('jwt_secret')));
|
||||
return res.redirect('/');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const _ = require('lodash');
|
||||
const config = require('nconf');
|
||||
const utils = require('./utils.js');
|
||||
const BrewData = require('./brew.data.js');
|
||||
const router = require('express').Router();
|
||||
@@ -18,7 +19,7 @@ const renderPage = (req, res, next) => {
|
||||
return vitreumRender('homebrew', templateFn, {
|
||||
url : req.originalUrl,
|
||||
version : require('../package.json').version,
|
||||
//TODO: add in login path?
|
||||
loginPath : config.get('login_path'),
|
||||
|
||||
user : req.account && req.account.username,
|
||||
brews : req.brews,
|
||||
|
||||
@@ -37,6 +37,7 @@ const Middleware = {
|
||||
if(!creds
|
||||
|| creds.name !== config.get('admin:user')
|
||||
|| creds.pass !== config.get('admin:pass')){
|
||||
res.setHeader('WWW-Authenticate', 'Basic realm="example"');
|
||||
return next(Error.noAdmin());
|
||||
}
|
||||
return next();
|
||||
|
||||
Reference in New Issue
Block a user