diff --git a/api/login.js b/api/login.js
index 5c2fa0b..399136a 100644
--- a/api/login.js
+++ b/api/login.js
@@ -6,42 +6,50 @@ const router = require("express").Router();
router.get("/", function(req, res) {
res.sendFile(path.join(__dirname + "/../public/index.html"));
});
-/*
+
router.get("/register", function(req, res) {
res.sendFile(path.join(__dirname + "/../public/index.html"));
});
-router.post("/register", function(req, res, next) {
- console.log("registering user");
- User.register(
- new User({ username: req.body.username }),
- req.body.password,
- function(err) {
- if (err) {
- console.log("error while user register!", err);
- return next(err);
- }
+// router.post("/register", function(req, res, next) {
+// User.register(
+// new User({ username: req.body.username }),
+// req.body.password,
+// function(err) {
+// if (err) {
+// console.log("error while user register!", err);
+// if (err.name == "UserExistsError")
+// res.status(409).send({ success: false, message: err.message })
+// else if (err.name == "MissingUsernameError" || err.name == "MissingPasswordError")
+// res.status(400).send({ success: false, message: err.message })
+// return next(err);
+// }
- console.log("user registered!");
+// console.log("user registered!", req.body.username);
+
+// res.redirect("/#/")
+// }
+// );
+// });
- res.redirect("/");
- }
- );
-});
-*/
router.get("/login", function(req, res) {
res.sendFile(path.join(__dirname + "/../public/index.html"));
});
-router.post(
- "/login",
- passport.authenticate("local", {
- failureRedirect: "/#/login"
- }),
- function(req, res) {
- res.redirect("/#/update");
- }
-);
+router.post("/login", function(req, res, next) {
+ passport.authenticate("local", function(err, user, info) {
+ if (err) {
+ if (err.name == "MissingUsernameError" || err.name == "MissingPasswordError")
+ return res.status(400).send({ success: false, message: err.message })
+ return next(err);
+ }
+
+ if (!user) return res.status(404).send({ success: false, message: "Incorrect username or password" })
+
+ console.log("user logged in:", user)
+ res.redirect("/#/update")
+ })(req, res, next);
+});
router.get("/logout", function(req, res) {
req.logout();
diff --git a/middleware/mustBeAuthenticated.js b/middleware/mustBeAuthenticated.js
new file mode 100644
index 0000000..b537ed5
--- /dev/null
+++ b/middleware/mustBeAuthenticated.js
@@ -0,0 +1,13 @@
+
+const mustBeAuthenticated = (req, res, next) => {
+ if (!req.isAuthenticated()) {
+ return res.status(401).send({
+ success: false,
+ message: "Du må være logget inn."
+ })
+ }
+
+ return next()
+}
+
+module.exports = mustBeAuthenticated;
\ No newline at end of file
diff --git a/src/components/CreatePage.vue b/src/components/CreatePage.vue
index 465c5a1..d8cf2e8 100644
--- a/src/components/CreatePage.vue
+++ b/src/components/CreatePage.vue
@@ -1,57 +1,50 @@
-
-
Vinlottis
-
-
+
Vinlottis brukerregistering
+
diff --git a/src/components/LoginPage.vue b/src/components/LoginPage.vue
index 8adc44d..fdf94b6 100644
--- a/src/components/LoginPage.vue
+++ b/src/components/LoginPage.vue
@@ -1,57 +1,49 @@
-
-
Vinlottis
-
-
+
Vinlottis brukerinnlogging
+
diff --git a/src/styles/loginAndRegister.scss b/src/styles/loginAndRegister.scss
new file mode 100644
index 0000000..91a3c89
--- /dev/null
+++ b/src/styles/loginAndRegister.scss
@@ -0,0 +1,69 @@
+@import "./media-queries.scss";
+@import "./variables.scss";
+
+.outer {
+ display: flex;
+ flex-direction: column;
+
+ @include desktop {
+ margin-top: 10vh;
+ }
+}
+
+h2 {
+ font-family: knowit, Arial;
+ text-align: center;
+ font-size: 3rem;
+ width: 100vw;
+
+ @include mobile {
+ font-size: 2rem;
+ }
+}
+
+form {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-around;
+ align-items: center;
+ flex-wrap: wrap;
+ margin: 0 auto;
+ width: 60vw;
+
+ @include mobile {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ margin: 0 auto;
+ width: 90vw;
+ }
+
+ .label-div input {
+ font-size: 2rem;
+ min-height: 2rem;
+ line-height: 2rem;
+ border: none;
+ border-bottom: 1px solid black;
+
+ @include mobile {
+ font-size: 2rem;
+ min-height: 2rem;
+ line-height: 2rem;
+
+ margin-bottom: 1.5rem;
+ }
+ }
+}
+
+.vin-button {
+ margin-bottom: 0;
+ margin-top: auto;
+}
+
+.error {
+ padding: 1.25rem;
+ margin: 1.25rem;
+ width: calc(100% - 5rem);
+ background-color: $light-red;
+ color: $red;
+}
\ No newline at end of file