From 4fcc265ae6193ea514327fb68634c507bd430c8d Mon Sep 17 00:00:00 2001 From: joelchu Date: Mon, 11 Nov 2019 11:11:19 +0800 Subject: [PATCH 1/2] when switch to pointing at the koa directly it works but when install as module it doesnt but its already the latest version --- packages/@jsonql/koa/package.json | 2 +- packages/@jsonql/koa/src/index.js | 4 +-- .../koa/src/utils/auth-middleware-helpers.js | 3 +-- .../koa/tests/fixtures/slim/auth/login.js | 8 ++++++ packages/koa/tests/without-validator.test.js | 25 +++++++++++++++++++ 5 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 packages/koa/tests/fixtures/slim/auth/login.js create mode 100644 packages/koa/tests/without-validator.test.js diff --git a/packages/@jsonql/koa/package.json b/packages/@jsonql/koa/package.json index d5556857..a683b5e3 100644 --- a/packages/@jsonql/koa/package.json +++ b/packages/@jsonql/koa/package.json @@ -53,7 +53,7 @@ "debug": "^4.1.1", "fs-extra": "^8.1.0", "jsonql-constants": "^1.8.10", - "jsonql-koa": "^1.4.7", + "jsonql-koa": "^1.4.9", "jsonql-params-validator": "^1.4.11", "koa": "^2.11.0", "koa-bodyparser": "^4.2.1", diff --git a/packages/@jsonql/koa/src/index.js b/packages/@jsonql/koa/src/index.js index 62f6e3b6..64d2cd05 100644 --- a/packages/@jsonql/koa/src/index.js +++ b/packages/@jsonql/koa/src/index.js @@ -3,8 +3,8 @@ const http = require('http') const Koa = require('koa') const bodyparser = require('koa-bodyparser') const cors = require('koa-cors') -/* require('../../../koa/main') */ -const { jsonqlKoa } = require('jsonql-koa') +const { jsonqlKoa } = require('../../../koa/main') +/* const { jsonqlKoa } = require('jsonql-koa') */ const { getSocketServer } = require('./get-socket-server') /** diff --git a/packages/koa/src/utils/auth-middleware-helpers.js b/packages/koa/src/utils/auth-middleware-helpers.js index e7214136..fecf224d 100644 --- a/packages/koa/src/utils/auth-middleware-helpers.js +++ b/packages/koa/src/utils/auth-middleware-helpers.js @@ -91,9 +91,8 @@ export const getValidator = (config, type, contract) => { } catch(e) { debug('localValidator throw error', e) const checkErr = e instanceof JsonqlResolverNotFoundError - // debug('checkErr', checkErr) - // we ignore this error becasue they might not have one? if (!checkErr) { + debug(`Not the JsonqlResolverNotFoundError?`) return finalCatch(e) } } diff --git a/packages/koa/tests/fixtures/slim/auth/login.js b/packages/koa/tests/fixtures/slim/auth/login.js new file mode 100644 index 00000000..349b0828 --- /dev/null +++ b/packages/koa/tests/fixtures/slim/auth/login.js @@ -0,0 +1,8 @@ +/** + * super simple login api + * @param {string} name just pass a name + * @return {object} just an object + */ +module.exports = function login(name) { + return {name, timestamp: Date.now()} +} diff --git a/packages/koa/tests/without-validator.test.js b/packages/koa/tests/without-validator.test.js new file mode 100644 index 00000000..9f543812 --- /dev/null +++ b/packages/koa/tests/without-validator.test.js @@ -0,0 +1,25 @@ +// testing enableAuth without a custom validator +const test = require('ava') +const debug = require('debug')('jsonql-koa:test:without-validator') +const { createQuery } = require('jsonql-utils') +const fsx = require('fs-extra') +const { merge } = require('lodash') +// const jsonqlMiddleware = require(join(__dirname, '..', 'index')) +const { type, headers, dirs, bearer, contractKeyName } = require('./fixtures/options') +const createServer = require('./helpers/server') +const dir = 'without'; +const keysDir = join(join(dirs.contractDir, 'without-validator-keys')) + +test.before((t) => { + t.context.app = createServer({ + useJwt: true, + enableAuth: true + }, dir) +}) + +test.after(t => { + fsx.removeSync(keysDir) + fsx.removeSync(join(dirs.contractDir, dir)) +}) + +test.todo(`It should able to use the build-in jwt validator without a custom one`) -- Gitee From e5684b5002d75712c08af20702786926ff0689ff Mon Sep 17 00:00:00 2001 From: joelchu Date: Mon, 11 Nov 2019 12:02:39 +0800 Subject: [PATCH 2/2] still not able to track down why the error throw outside of the getValidator fn --- packages/koa/main.js | 5 ++++- packages/koa/package.json | 2 +- packages/koa/src/middlewares/auth-middleware.js | 1 + packages/koa/src/utils/auth-middleware-helpers.js | 4 ++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/koa/main.js b/packages/koa/main.js index 188245a2..c89ffeb8 100644 --- a/packages/koa/main.js +++ b/packages/koa/main.js @@ -1,3 +1,6 @@ -// export for CJS modules using esm modules +// export for CJS modules using esm module +// @TODO remove later +require('debug')('jsonql-koa:main')('calling the jsonql-koa/main') +// run the esm require = require('esm')(module) module.exports = require('./index.js') diff --git a/packages/koa/package.json b/packages/koa/package.json index a91956ed..652d52ac 100644 --- a/packages/koa/package.json +++ b/packages/koa/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-koa", - "version": "1.4.9", + "version": "1.4.10", "description": "jsonql Koa middleware", "main": "main.js", "module": "index.js", diff --git a/packages/koa/src/middlewares/auth-middleware.js b/packages/koa/src/middlewares/auth-middleware.js index c3d72927..690b9681 100644 --- a/packages/koa/src/middlewares/auth-middleware.js +++ b/packages/koa/src/middlewares/auth-middleware.js @@ -32,6 +32,7 @@ export default function authMiddleware(config) { const token = authHeaderParser(ctx) if (token) { debug('got a token', token) + // @BUG 1.4.9 this still throw the error when it shouldn't have let validatorFn = getValidator(config , AUTH_TYPE, contract) let userdata = await validatorFn(token) debug('validatorFn result', userdata) diff --git a/packages/koa/src/utils/auth-middleware-helpers.js b/packages/koa/src/utils/auth-middleware-helpers.js index fecf224d..5793943e 100644 --- a/packages/koa/src/utils/auth-middleware-helpers.js +++ b/packages/koa/src/utils/auth-middleware-helpers.js @@ -89,10 +89,10 @@ export const getValidator = (config, type, contract) => { try { localValidator = getLocalValidator(config, type, contract) } catch(e) { - debug('localValidator throw error', e) + // debug('localValidator throw error', e) const checkErr = e instanceof JsonqlResolverNotFoundError if (!checkErr) { - debug(`Not the JsonqlResolverNotFoundError?`) + debug(`Not the JsonqlResolverNotFoundError?`, e) return finalCatch(e) } } -- Gitee