diff --git a/packages/constants/README.md b/packages/constants/README.md index ff4e214e12afc00fcc98d53ec900affccba2d758..7051f88b4dda7001ed5fd277cd3295384085e71f 100755 --- a/packages/constants/README.md +++ b/packages/constants/README.md @@ -177,6 +177,7 @@ Please consult the detail break down below. - EVENT_EMITTER_PROP_KEY - SUSPEND_EVENT_PROP_KEY - ENABLE_CACHE_RESOLVER_PROP_KEY +- TOKEN_DELIVER_LOCATION_PROP_KEY ### SOCKET @@ -241,6 +242,8 @@ Please consult the detail break down below. - DEFAULT_PRIVATE_KEY_FILE - NSP_AUTH_CLIENT - NSP_CLIENT +- TOKEN_IN_HEADER +- TOKEN_IN_URL ### VALIDATION diff --git a/packages/constants/browser.js b/packages/constants/browser.js index 7ccec69dbee13f5523ab5e5781b4b682e922a6c1..0d6fdb4d0c573f1dd849f1e94ca8debee4b96c45 100644 --- a/packages/constants/browser.js +++ b/packages/constants/browser.js @@ -178,6 +178,7 @@ var jsonqlConstants = { "EVENT_EMITTER_PROP_KEY": "eventEmitter", "SUSPEND_EVENT_PROP_KEY": "suspendOnStart", "ENABLE_CACHE_RESOLVER_PROP_KEY": "enableCacheResolver", + "TOKEN_DELIVER_LOCATION_PROP_KEY": "tokenDeliverLocation", "SOCKET_PING_EVENT_NAME": "__ping__", "SWITCH_USER_EVENT_NAME": "__switch__", "LOGIN_EVENT_NAME": "__login__", @@ -256,6 +257,8 @@ var jsonqlConstants = { "DEFAULT_PRIVATE_KEY_FILE": "privateKey.pem", "NSP_AUTH_CLIENT": "nspAuthClient", "NSP_CLIENT": "nspClient", + "TOKEN_IN_HEADER": "header", + "TOKEN_IN_URL": "url", "OR_SEPERATOR": "|", "FUNCTION_TYPE": "function", "STRING_TYPE": "string", diff --git a/packages/constants/constants.json b/packages/constants/constants.json index de3266512a19babc27cb5f8c79bc853bde65cc2e..8c2fef986459e95d60b7bdd7b7c14f644aa88a38 100644 --- a/packages/constants/constants.json +++ b/packages/constants/constants.json @@ -178,6 +178,7 @@ "EVENT_EMITTER_PROP_KEY": "eventEmitter", "SUSPEND_EVENT_PROP_KEY": "suspendOnStart", "ENABLE_CACHE_RESOLVER_PROP_KEY": "enableCacheResolver", + "TOKEN_DELIVER_LOCATION_PROP_KEY": "tokenDeliverLocation", "SOCKET_PING_EVENT_NAME": "__ping__", "SWITCH_USER_EVENT_NAME": "__switch__", "LOGIN_EVENT_NAME": "__login__", @@ -256,6 +257,8 @@ "DEFAULT_PRIVATE_KEY_FILE": "privateKey.pem", "NSP_AUTH_CLIENT": "nspAuthClient", "NSP_CLIENT": "nspClient", + "TOKEN_IN_HEADER": "header", + "TOKEN_IN_URL": "url", "OR_SEPERATOR": "|", "FUNCTION_TYPE": "function", "STRING_TYPE": "string", diff --git a/packages/constants/index.js b/packages/constants/index.js index 25496fa4c32df811c33904cc2e32bb173ff99496..403a34c7c79e9f786bf3b9ae0bd5a6f0d729eb85 100644 --- a/packages/constants/index.js +++ b/packages/constants/index.js @@ -256,7 +256,9 @@ export const EVENT_EMITTER_PROP_KEY = 'eventEmitter' // track this key if we want to suspend event on start export const SUSPEND_EVENT_PROP_KEY = 'suspendOnStart' // if we want to enable caching the resolver or not -export const ENABLE_CACHE_RESOLVER_PROP_KEY = 'enableCacheResolver' /* socket.js */ +export const ENABLE_CACHE_RESOLVER_PROP_KEY = 'enableCacheResolver' +// we could pass the token in the header instead when init the WebSocket +export const TOKEN_DELIVER_LOCATION_PROP_KEY = 'tokenDeliverLocation' /* socket.js */ // the constants file is gettig too large // we need to split up and group the related constant in one file @@ -380,6 +382,11 @@ export const DEFAULT_PRIVATE_KEY_FILE = [PRIVATE_KEY_NAME, PEM_EXT].join('.') export const NSP_AUTH_CLIENT = 'nspAuthClient' export const NSP_CLIENT = 'nspClient' + +// this is the value for TOKEN_DELIVER_LOCATION_PROP_KEY +export const TOKEN_IN_HEADER = 'header' +export const TOKEN_IN_URL = 'url' + /* validation.js */ // validation related constants diff --git a/packages/constants/main.js b/packages/constants/main.js index 5374930920cc7ba5415ce2eca14e40768feb0474..0c7444aff2ee21bd5e09cbe3a2d177e81b08da66 100644 --- a/packages/constants/main.js +++ b/packages/constants/main.js @@ -178,6 +178,7 @@ module.exports = { "EVENT_EMITTER_PROP_KEY": "eventEmitter", "SUSPEND_EVENT_PROP_KEY": "suspendOnStart", "ENABLE_CACHE_RESOLVER_PROP_KEY": "enableCacheResolver", + "TOKEN_DELIVER_LOCATION_PROP_KEY": "tokenDeliverLocation", "SOCKET_PING_EVENT_NAME": "__ping__", "SWITCH_USER_EVENT_NAME": "__switch__", "LOGIN_EVENT_NAME": "__login__", @@ -256,6 +257,8 @@ module.exports = { "DEFAULT_PRIVATE_KEY_FILE": "privateKey.pem", "NSP_AUTH_CLIENT": "nspAuthClient", "NSP_CLIENT": "nspClient", + "TOKEN_IN_HEADER": "header", + "TOKEN_IN_URL": "url", "OR_SEPERATOR": "|", "FUNCTION_TYPE": "function", "STRING_TYPE": "string", diff --git a/packages/constants/package.json b/packages/constants/package.json index 8d288932277db2bac40dc47afd2e4285d711f8af..b7ae6811534c45aef36dc5a9b72818dc60d40816 100755 --- a/packages/constants/package.json +++ b/packages/constants/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-constants", - "version": "2.0.15", + "version": "2.0.16", "description": "All the share constants for jsonql modules", "main": "main.js", "module": "index.js", diff --git a/packages/constants/prop.js b/packages/constants/prop.js index 14c48407ce1c2a12dc3ae085d684b2dc1a3a3c19..33cc968a019d5a15edd5420b12fdefe9c36d7215 100644 --- a/packages/constants/prop.js +++ b/packages/constants/prop.js @@ -111,4 +111,6 @@ export const EVENT_EMITTER_PROP_KEY = 'eventEmitter' // track this key if we want to suspend event on start export const SUSPEND_EVENT_PROP_KEY = 'suspendOnStart' // if we want to enable caching the resolver or not -export const ENABLE_CACHE_RESOLVER_PROP_KEY = 'enableCacheResolver' \ No newline at end of file +export const ENABLE_CACHE_RESOLVER_PROP_KEY = 'enableCacheResolver' +// we could pass the token in the header instead when init the WebSocket +export const TOKEN_DELIVER_LOCATION_PROP_KEY = 'tokenDeliverLocation' \ No newline at end of file diff --git a/packages/constants/socket.js b/packages/constants/socket.js index dda8b17d2c97399c53c9ee447a398397cc4226e2..4e0487960f36c54e716dc95ea92bf6473ef80640 100644 --- a/packages/constants/socket.js +++ b/packages/constants/socket.js @@ -120,3 +120,8 @@ export const DEFAULT_PRIVATE_KEY_FILE = [PRIVATE_KEY_NAME, PEM_EXT].join('.') export const NSP_AUTH_CLIENT = 'nspAuthClient' export const NSP_CLIENT = 'nspClient' + +// this is the value for TOKEN_DELIVER_LOCATION_PROP_KEY +export const TOKEN_IN_HEADER = 'header' +export const TOKEN_IN_URL = 'url' + diff --git a/packages/ws-server-core/package.json b/packages/ws-server-core/package.json index 90a9954d4113e7072d9cbc3e9b1964ad04c89882..7788d4fd5b43faf7f75a7c7ee3dbb659e9edc53a 100644 --- a/packages/ws-server-core/package.json +++ b/packages/ws-server-core/package.json @@ -33,7 +33,7 @@ "debug": "^4.1.1", "esm": "^3.2.25", "fs-extra": "^9.0.0", - "jsonql-constants": "^2.0.14", + "jsonql-constants": "^2.0.15", "jsonql-errors": "^1.2.1", "jsonql-params-validator": "^1.6.2", "jsonql-resolver": "^1.2.6", diff --git a/packages/ws-server-core/src/options/props.js b/packages/ws-server-core/src/options/props.js index 340bbd10889f59a5798786f3f1b5b92e40ada306..97a89de686522c9a8d400c99e6566fd0f2fe55c6 100644 --- a/packages/ws-server-core/src/options/props.js +++ b/packages/ws-server-core/src/options/props.js @@ -2,7 +2,6 @@ // and methods in another const { join } = require('path') const { createConfig } = require('jsonql-params-validator') -// const { isFunc } = require('../share/helpers') const { HSA_ALGO, @@ -10,9 +9,7 @@ const { ALIAS_KEY, PUBLIC_KEY, PRIVATE_KEY, - // CHECKER_KEY, - // ANY_TYPE, STRING_TYPE, BOOLEAN_TYPE, NUMBER_TYPE, @@ -29,15 +26,40 @@ const { SOCKET_TYPE_PROP_KEY, SOCKET_TYPE_SERVER_ALIAS, - INIT_CONNECTION_FN_NAME_PROP_KEY, DISCONNECT_FN_NAME, SWITCH_USER_FN_NAME, LOGIN_FN_NAME, LOGOUT_FN_NAME, - CSRF_PROP_KEY, JS_WS_NAME, - CSRF_HEADER_KEY + CSRF_HEADER_KEY, + + APP_DIR_PROP_KEY, + ALGORITHM_PROP_KEY, + AUTH_TO_PROP_KEY, + ENABLE_AUTH_PROP_KEY, + USE_JWT_PROP_KEY, + RESOLVER_DIR_PROP_KEY, + CONTRACT_DIR_PROP_KEY, + KEYS_DIR_PROP_KEY, + INIT_CONNECTION_FN_NAME_PROP_KEY, + LOGIN_FN_NAME_PROP_KEY, + LOGOUT_FN_NAME_PROP_KEY, + DISCONNECT_FN_NAME_PROP_KEY, + SWITCH_USER_FN_NAME_PROP_KEY, + PUBLIC_FN_DIR_PROP_KEY, + PRIVATE_FN_DIR_DROP_KEY, + SOCKET_IO_AUTH_TYPE_PROP_KEY, + ALLOW_ORIGIN_PROP_KEY, + SERVER_INIT_OPT_PROP_KEY, + CSRF_PROP_KEY, + ENABLE_CACHE_RESOLVER_PROP_KEY, + PUBLIC_KEY_NAME_PROP_KEY, + PRIVATE_KEY_NAME_PROP_KEY, + CONTRACT_PROP_KEY, + SECRET_PROP_KEY, + PUBLIC_NAMESPACE_PROP_KEY, + PRIVATE_NAMESPACE_PROP_KEY } = require('jsonql-constants') // default root folder const dirname = process.cwd()