ソースを参照

Some more work on auth

theflametrooper 8 年 前
コミット
2461f4f676

+ 3 - 5
backend/app.js

@@ -22,7 +22,6 @@ const express          = require('express'),
 // global module
 const global         = require('./logic/global');
 
-
 // database
 const MongoDB = mongoose.connect('mongodb://localhost:27017/musare').connection;
 
@@ -43,7 +42,6 @@ const coreHandler    = require('./logic/coreHandler'),
       socketHandler  = require('./logic/socketHandler'),
       expressHandler = require('./logic/expressHandler');
 
-
 global.db = {
 	user: require('./schemas/user')(mongoose),
 	station: require('./schemas/station')(mongoose)
@@ -74,11 +72,11 @@ passport.deserializeUser((user, done) => {
 
 passport.use('local-signup', new LocalStrategy((username, password, cb) => {
 	process.nextTick(() => {
-		db.user.findOne({'username' : username }, function(err, user) {
+		global.db.user.findOne({'username' : username}, function(err, user) {
 			if (err) return cb(err);
 			if (user) return cb(null, false);
 			else {
-				var newUser = new db.user({
+				let newUser = new global.db.user({
 					username
 				});
 				newUser.save(function(err) {
@@ -92,7 +90,7 @@ passport.use('local-signup', new LocalStrategy((username, password, cb) => {
 
 passport.use('local-login', new LocalStrategy((username, password, cb) => {
 	process.nextTick(() => {
-		db.user.findOne({username}, (err, user) => {
+		global.db.user.findOne({username}, (err, user) => {
 			if (err) return cb(err);
 			if (!user) return cb(null, false);
 			if (!user.services.token.password == password) return done(null, false);

+ 2 - 4
backend/logic/coreHandler.js

@@ -40,10 +40,8 @@ module.exports = {
 	},
 
 	'/users/register': (user, cb) => {
-		passport.authenticate('local-signup', {
-			// successRedirect: cb({ status: 'success', message: 'Successfully signed up' }),
-			// failureRedirect: cb({ status: 'error', message: 'Error while trying to sign up' })
-		});
+		console.log(user);
+		passport.authenticate('local-signup');
 	},
 
 	'/stations': cb => {

+ 17 - 1
frontend/components/App.vue

@@ -13,6 +13,8 @@
 	import StationBody from './StationBody.vue'
 	import MainFooter from './MainFooter.vue'
 
+	let socket = io();
+
 	export default {
 		data() {
 			return {
@@ -21,6 +23,11 @@
 				},
 				station: {
 					visible: false
+				},
+				register: {
+					email: "",
+					username: "",
+					password: ""
 				}
 			}
 		},
@@ -34,9 +41,18 @@
 		},
 		components: { MainHeader, HomeBody, StationBody, MainFooter },
 		events: {
-			'switchView': (hide, show) => {
+			'switchView': function(hide, show) {
 				this[hide].visible = false;
 				this[show].visible = true;
+			},
+			'register': function() {
+				console.log('registered');
+				socket.emit('/users/register', {
+					email: this.register.email,
+					username: this.register.username,
+					password: this.register.password,
+					recaptcha: grecaptcha.getResponse()
+				});
 			}
 		}
 	}

+ 5 - 5
frontend/components/HomeBody.vue

@@ -7,13 +7,13 @@
 					<h4 class="modal-title">Register</h4>
 				</div>
 				<div class="modal-body">
-					<input class="form-control" type="text" placeholder="Email..."/>
-					<input class="form-control" type="text" placeholder="Username..."/>
-					<input class="form-control" type="password" placeholder="Password..."/>
+					<input class="form-control" type="text" placeholder="Email..." v-model="$parent.register.email"/>
+					<input class="form-control" type="text" placeholder="Username..." v-model="$parent.register.username"/>
+					<input class="form-control" type="password" placeholder="Password..." v-model="$parent.register.password"/>
 					<div class="g-recaptcha" data-sitekey="6Ld5jygTAAAAAEi0E1IwovUuVFhZKctMvKnY553W"></div>
 				</div>
 				<div class="modal-footer">
-					<button type="button" class="btn btn-primary" data-dismiss="modal">Submit</button>
+					<button type="button" class="btn btn-primary" data-dismiss="modal" @click="this.$dispatch('register');">Submit</button>
 				</div>
 			</div>
 		</div>
@@ -66,7 +66,7 @@
 			}
 		},
 		methods: {
-			log: thing => {
+			log(thing) {
 				console.log(thing);
 			}
 		}