From d9b4d32fa3ddba62736419e929eaeda6e629bde8 Mon Sep 17 00:00:00 2001 From: Sebastian Rindom Date: Mon, 29 Jun 2020 16:23:07 +0200 Subject: [PATCH] integration switch --- packages/medusa/src/api/middlewares/authenticate.js | 4 +++- packages/medusa/src/api/routes/admin/auth/get-session.js | 7 +++++++ packages/medusa/src/api/routes/admin/auth/index.js | 5 +++++ packages/medusa/src/helpers/test-request.js | 2 +- packages/medusa/src/loaders/api.js | 6 +++--- packages/medusa/src/loaders/passport.js | 3 ++- 6 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 packages/medusa/src/api/routes/admin/auth/get-session.js diff --git a/packages/medusa/src/api/middlewares/authenticate.js b/packages/medusa/src/api/middlewares/authenticate.js index 4189612781..d536b8a039 100644 --- a/packages/medusa/src/api/middlewares/authenticate.js +++ b/packages/medusa/src/api/middlewares/authenticate.js @@ -1,5 +1,7 @@ import passport from "passport" export default () => { - return passport.authenticate(["jwt", "bearer"], { session: false }) + return (req, res, next) => { + passport.authenticate(["jwt", "bearer"], { session: false })(req, res, next) + } } diff --git a/packages/medusa/src/api/routes/admin/auth/get-session.js b/packages/medusa/src/api/routes/admin/auth/get-session.js new file mode 100644 index 0000000000..e94685f468 --- /dev/null +++ b/packages/medusa/src/api/routes/admin/auth/get-session.js @@ -0,0 +1,7 @@ +import passport from "passport" + +export default async (req, res) => { + const userService = req.scope.resolve("userService") + const user = await userService.retrieve(req.user.userId) + res.status(200).json({ user }) +} diff --git a/packages/medusa/src/api/routes/admin/auth/index.js b/packages/medusa/src/api/routes/admin/auth/index.js index c59c21b201..3a8a9f896a 100644 --- a/packages/medusa/src/api/routes/admin/auth/index.js +++ b/packages/medusa/src/api/routes/admin/auth/index.js @@ -6,6 +6,11 @@ const route = Router() export default app => { app.use("/auth", route) + route.get( + "/", + middlewares.authenticate(), + middlewares.wrap(require("./get-session").default) + ) route.post("/", middlewares.wrap(require("./create-session").default)) return app diff --git a/packages/medusa/src/helpers/test-request.js b/packages/medusa/src/helpers/test-request.js index b0feb084e6..a37373fe8e 100644 --- a/packages/medusa/src/helpers/test-request.js +++ b/packages/medusa/src/helpers/test-request.js @@ -29,7 +29,7 @@ testApp.use((req, res, next) => { next() }) -apiLoader({ container, app: testApp }) +apiLoader({ container, rootDirectory: ".", app: testApp }) const supertestRequest = supertest(testApp) diff --git a/packages/medusa/src/loaders/api.js b/packages/medusa/src/loaders/api.js index 9beb2edb02..1f76c4e02b 100644 --- a/packages/medusa/src/loaders/api.js +++ b/packages/medusa/src/loaders/api.js @@ -1,9 +1,9 @@ import routes from "../api" -import glob from "glob" -import path from "path" +export default async ({ app, rootDirectory, container }) => { + const { configModule } = getConfigFile(rootDirectory, `medusa-config`) + const config = (configModule && configModule.projectConfig) || {} -export default async ({ app, container }) => { app.use("/", routes(container)) return app } diff --git a/packages/medusa/src/loaders/passport.js b/packages/medusa/src/loaders/passport.js index cbb2fb2930..33a3bdae1a 100644 --- a/packages/medusa/src/loaders/passport.js +++ b/packages/medusa/src/loaders/passport.js @@ -6,6 +6,7 @@ import config from "../config" export default async ({ app, container }) => { const authService = container.resolve("authService") + const userService = container.resolve("userService") // For good old email password authentication passport.use( @@ -37,7 +38,7 @@ export default async ({ app, container }) => { jwtFromRequest: req => req.session.jwt, secretOrKey: config.jwtSecret, }, - (jwtPayload, done) => { + async (jwtPayload, done) => { return done(null, jwtPayload) } )