diff --git a/server/app.ts b/server/app.ts index cf10050..a4302bb 100644 --- a/server/app.ts +++ b/server/app.ts @@ -84,7 +84,14 @@ const SetupApp = (app: any, knex: Knex, apiBaseUrl: string) => { return invokeHandler(handler, knex); } - const checkLogin = require('connect-ensure-login').ensureLoggedIn; + const checkLogin = () => { + return function (req: any, res: any, next: any) { + if (!req.isAuthenticated || !req.isAuthenticated()) { + return res.status(401).send(); + } + next(); + } + } // Set up REST API endpoints app.post(apiBaseUrl + api.CreateSongEndpoint, checkLogin(), _invoke(CreateSongEndpointHandler)); @@ -103,7 +110,12 @@ const SetupApp = (app: any, knex: Knex, apiBaseUrl: string) => { app.delete(apiBaseUrl + api.DeleteTagEndpoint, checkLogin(), _invoke(DeleteTagEndpointHandler)); app.post(apiBaseUrl + api.MergeTagEndpoint, checkLogin(), _invoke(MergeTagEndpointHandler)); app.post(apiBaseUrl + api.RegisterUserEndpoint, _invoke(RegisterUserEndpointHandler)); + app.post('/login', passport.authenticate('local'), (req: any, res: any) => { res.status(200).send(); }); + app.post('/logout', function (req: any, res: any) { + req.logout(); + res.status(200).send(); + }); } export { SetupApp } \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json index e976f56..a52e71e 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -779,11 +779,6 @@ "xdg-basedir": "^4.0.0" } }, - "connect-ensure-login": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/connect-ensure-login/-/connect-ensure-login-0.1.1.tgz", - "integrity": "sha1-F03MUSQ7nqwj+NmCFa62aU4uihI=" - }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", diff --git a/server/package.json b/server/package.json index b31ba40..a16940c 100644 --- a/server/package.json +++ b/server/package.json @@ -11,7 +11,6 @@ "body-parser": "^1.18.3", "chai": "^4.2.0", "chai-http": "^4.3.0", - "connect-ensure-login": "^0.1.1", "express": "^4.16.4", "jasmine": "^3.5.0", "js-sha512": "^0.8.0",