@strapi/plugin-users-permissions 5.48.0 → 5.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/BoundRoute/index.js +12 -6
- package/dist/admin/components/BoundRoute/index.js.map +1 -1
- package/dist/admin/components/FormModal/Input/index.js +25 -21
- package/dist/admin/components/FormModal/Input/index.js.map +1 -1
- package/dist/admin/components/FormModal/index.js +14 -10
- package/dist/admin/components/FormModal/index.js.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +8 -3
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/index.js +9 -4
- package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -1
- package/dist/admin/components/Policies/index.js +9 -3
- package/dist/admin/components/Policies/index.js.map +1 -1
- package/dist/admin/components/UsersPermissions/index.js +6 -2
- package/dist/admin/components/UsersPermissions/index.js.map +1 -1
- package/dist/admin/components/UsersPermissions/reducer.js +10 -4
- package/dist/admin/components/UsersPermissions/reducer.js.map +1 -1
- package/dist/admin/contexts/UsersPermissionsContext/index.js +6 -2
- package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -1
- package/dist/admin/pages/AdvancedSettings/utils/schema.js +3 -2
- package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js +17 -13
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js +6 -2
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/index.js +3 -2
- package/dist/admin/pages/EmailTemplates/index.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/utils/schema.js +3 -2
- package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -1
- package/dist/admin/pages/Providers/index.js +7 -3
- package/dist/admin/pages/Providers/index.js.map +1 -1
- package/dist/admin/pages/Providers/utils/forms.js +3 -2
- package/dist/admin/pages/Providers/utils/forms.js.map +1 -1
- package/dist/admin/pages/Roles/constants.js +3 -2
- package/dist/admin/pages/Roles/constants.js.map +1 -1
- package/dist/admin/pages/Roles/pages/CreatePage.js +3 -2
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/EditPage.js +3 -2
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +9 -5
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -1
- package/dist/admin/utils/cleanPermissions.js +6 -2
- package/dist/admin/utils/cleanPermissions.js.map +1 -1
- package/dist/admin/utils/formatPluginName.js +5 -1
- package/dist/admin/utils/formatPluginName.js.map +1 -1
- package/dist/server/bootstrap/index.js +7 -2
- package/dist/server/bootstrap/index.js.map +1 -1
- package/dist/server/bootstrap/index.mjs.map +1 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/auth.js +13 -5
- package/dist/server/controllers/auth.js.map +1 -1
- package/dist/server/controllers/auth.mjs.map +1 -1
- package/dist/server/controllers/content-manager-user.js +8 -3
- package/dist/server/controllers/content-manager-user.js.map +1 -1
- package/dist/server/controllers/content-manager-user.mjs.map +1 -1
- package/dist/server/controllers/permissions.js +5 -1
- package/dist/server/controllers/permissions.js.map +1 -1
- package/dist/server/controllers/permissions.mjs.map +1 -1
- package/dist/server/controllers/role.js +7 -2
- package/dist/server/controllers/role.js.map +1 -1
- package/dist/server/controllers/role.mjs.map +1 -1
- package/dist/server/controllers/settings.js +7 -2
- package/dist/server/controllers/settings.js.map +1 -1
- package/dist/server/controllers/settings.mjs.map +1 -1
- package/dist/server/controllers/user.js +7 -2
- package/dist/server/controllers/user.js.map +1 -1
- package/dist/server/controllers/user.mjs.map +1 -1
- package/dist/server/controllers/validation/auth.js +5 -1
- package/dist/server/controllers/validation/auth.js.map +1 -1
- package/dist/server/controllers/validation/auth.mjs.map +1 -1
- package/dist/server/controllers/validation/email-template.js +7 -2
- package/dist/server/controllers/validation/email-template.js.map +1 -1
- package/dist/server/controllers/validation/user.js +5 -1
- package/dist/server/controllers/validation/user.js.map +1 -1
- package/dist/server/controllers/validation/user.mjs.map +1 -1
- package/dist/server/graphql/index.js.map +1 -1
- package/dist/server/graphql/index.mjs.map +1 -1
- package/dist/server/graphql/mutations/auth/change-password.js +5 -1
- package/dist/server/graphql/mutations/auth/change-password.js.map +1 -1
- package/dist/server/graphql/mutations/auth/email-confirmation.js +5 -1
- package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -1
- package/dist/server/graphql/mutations/auth/forgot-password.js +5 -1
- package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -1
- package/dist/server/graphql/mutations/auth/login.js +5 -1
- package/dist/server/graphql/mutations/auth/login.js.map +1 -1
- package/dist/server/graphql/mutations/auth/login.mjs.map +1 -1
- package/dist/server/graphql/mutations/auth/register.js +5 -1
- package/dist/server/graphql/mutations/auth/register.js.map +1 -1
- package/dist/server/graphql/mutations/auth/reset-password.js +5 -1
- package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/create-role.js +5 -1
- package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/user/create-user.js +5 -1
- package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -1
- package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/user/update-user.js +5 -1
- package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -1
- package/dist/server/graphql/types/login-input.js.map +1 -1
- package/dist/server/graphql/types/login-input.mjs.map +1 -1
- package/dist/server/graphql/types/login-payload.js.map +1 -1
- package/dist/server/graphql/types/login-payload.mjs.map +1 -1
- package/dist/server/graphql/utils.js +5 -1
- package/dist/server/graphql/utils.js.map +1 -1
- package/dist/server/middlewares/rateLimit.js +11 -4
- package/dist/server/middlewares/rateLimit.js.map +1 -1
- package/dist/server/register.js +7 -2
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/content-api/index.js +5 -1
- package/dist/server/routes/content-api/index.js.map +1 -1
- package/dist/server/routes/content-api/user.js +5 -1
- package/dist/server/routes/content-api/user.js.map +1 -1
- package/dist/server/routes/content-api/validation.js +7 -2
- package/dist/server/routes/content-api/validation.js.map +1 -1
- package/dist/server/services/jwt.js +7 -2
- package/dist/server/services/jwt.js.map +1 -1
- package/dist/server/services/jwt.mjs.map +1 -1
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/providers-registry.js +13 -5
- package/dist/server/services/providers-registry.js.map +1 -1
- package/dist/server/services/providers-registry.mjs.map +1 -1
- package/dist/server/services/providers.js +7 -2
- package/dist/server/services/providers.js.map +1 -1
- package/dist/server/services/providers.mjs.map +1 -1
- package/dist/server/services/role.js +7 -2
- package/dist/server/services/role.js.map +1 -1
- package/dist/server/services/role.mjs.map +1 -1
- package/dist/server/services/user.js +35 -9
- package/dist/server/services/user.js.map +1 -1
- package/dist/server/services/user.mjs +22 -4
- package/dist/server/services/user.mjs.map +1 -1
- package/dist/server/services/users-permissions.js +11 -4
- package/dist/server/services/users-permissions.js.map +1 -1
- package/dist/server/services/users-permissions.mjs.map +1 -1
- package/dist/server/strategies/users-permissions.js +7 -2
- package/dist/server/strategies/users-permissions.js.map +1 -1
- package/dist/server/strategies/users-permissions.mjs.map +1 -1
- package/dist/server/utils/index.js +5 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/utils/sanitize/sanitizers.js +7 -2
- package/dist/server/utils/sanitize/sanitizers.js.map +1 -1
- package/package.json +4 -4
- package/server/services/user.js +22 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-user.mjs","sources":["../../../../../../server/graphql/mutations/crud/user/create-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n data: nonNull(userInputName),\n },\n\n description: 'Create a new user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = {};\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').create(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","createUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","data","description","resolve","parent","context","koaContext","params","request","body","controller","create","value","info","resourceUID"],"mappings":";;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,UAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,YAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,IAAAA,EAAMZ,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIK,WAAAA,EAAa,mBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;gBAEvBC,UAAAA,CAAWC,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"create-user.mjs","sources":["../../../../../../server/graphql/mutations/crud/user/create-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n data: nonNull(userInputName),\n },\n\n description: 'Create a new user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = {};\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').create(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","createUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","data","description","resolve","parent","context","koaContext","params","request","body","controller","create","value","info","resourceUID"],"mappings":";;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,UAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,YAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,IAAAA,EAAMZ,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIK,WAAAA,EAAa,mBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEJ,IAAI,EAAEK,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;gBAEvBC,UAAAA,CAAWC,MAAM,GAAG;AACpBD,gBAAAA,UAAAA,CAAWE,OAAO,CAACC,IAAI,GAAG5B,aAAAA,CAAcmB,KAAKC,IAAI,CAAA;gBAEjD,MAAMb,MAAAA,CAAOI,MAAM,CAAC,mBAAA,CAAA,CAAqBkB,UAAU,CAAC,MAAA,CAAA,CAAQC,MAAM,CAACL,UAAAA,CAAAA;AAEnEvB,gBAAAA,eAAAA,CAAgBuB,WAAWG,IAAI,CAAA;gBAE/B,OAAO;AACLG,oBAAAA,KAAAA,EAAON,WAAWG,IAAI;oBACtBI,IAAAA,EAAM;AAAEb,wBAAAA,IAAAA;wBAAMc,WAAAA,EAAa;AAAgC;AACnE,iBAAA;AACA,YAAA;AACA,SAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
var require$$0 = require('lodash/fp');
|
|
4
4
|
var utils = require('../../../utils.js');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
|
|
9
|
+
|
|
6
10
|
var updateUser;
|
|
7
11
|
var hasRequiredUpdateUser;
|
|
8
12
|
function requireUpdateUser() {
|
|
9
13
|
if (hasRequiredUpdateUser) return updateUser;
|
|
10
14
|
hasRequiredUpdateUser = 1;
|
|
11
|
-
const { toPlainObject } = require$$
|
|
15
|
+
const { toPlainObject } = require$$0__default.default;
|
|
12
16
|
const { checkBadRequest } = utils.__require();
|
|
13
17
|
const usersPermissionsUserUID = 'plugin::users-permissions.user';
|
|
14
18
|
updateUser = ({ nexus, strapi })=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-user.js","sources":["../../../../../../server/graphql/mutations/crud/user/update-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n id: nonNull('ID'),\n data: nonNull(userInputName),\n },\n\n description: 'Update an existing user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = { id: args.id };\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').update(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","updateUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","id","data","description","resolve","parent","context","koaContext","params","request","body","controller","update","value","info","resourceUID"],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-user.js","sources":["../../../../../../server/graphql/mutations/crud/user/update-user.js"],"sourcesContent":["'use strict';\n\nconst { toPlainObject } = require('lodash/fp');\n\nconst { checkBadRequest } = require('../../../utils');\n\nconst usersPermissionsUserUID = 'plugin::users-permissions.user';\n\nmodule.exports = ({ nexus, strapi }) => {\n const { nonNull } = nexus;\n const { getContentTypeInputName, getEntityResponseName } = strapi\n .plugin('graphql')\n .service('utils').naming;\n\n const userContentType = strapi.getModel(usersPermissionsUserUID);\n\n const userInputName = getContentTypeInputName(userContentType);\n const responseName = getEntityResponseName(userContentType);\n\n return {\n type: nonNull(responseName),\n\n args: {\n id: nonNull('ID'),\n data: nonNull(userInputName),\n },\n\n description: 'Update an existing user',\n\n async resolve(parent, args, context) {\n const { koaContext } = context;\n\n koaContext.params = { id: args.id };\n koaContext.request.body = toPlainObject(args.data);\n\n await strapi.plugin('users-permissions').controller('user').update(koaContext);\n\n checkBadRequest(koaContext.body);\n\n return {\n value: koaContext.body,\n info: { args, resourceUID: 'plugin::users-permissions.user' },\n };\n },\n };\n};\n"],"names":["toPlainObject","require$$0","checkBadRequest","require$$1","usersPermissionsUserUID","updateUser","nexus","strapi","nonNull","getContentTypeInputName","getEntityResponseName","plugin","service","naming","userContentType","getModel","userInputName","responseName","type","args","id","data","description","resolve","parent","context","koaContext","params","request","body","controller","update","value","info","resourceUID"],"mappings":";;;;;;;;;;;;;;IAEA,MAAM,EAAEA,aAAa,EAAE,GAAGC,2BAAAA;IAE1B,MAAM,EAAEC,eAAe,EAAE,GAAGC,eAAAA,EAAAA;AAE5B,IAAA,MAAMC,uBAAAA,GAA0B,gCAAA;AAEhCC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAEC,MAAM,EAAE,GAAA;QACjC,MAAM,EAAEC,OAAO,EAAE,GAAGF,KAAAA;AACpB,QAAA,MAAM,EAAEG,uBAAuB,EAAEC,qBAAqB,EAAE,GAAGH,MAAAA,CACxDI,MAAM,CAAC,SAAA,CAAA,CACPC,OAAO,CAAC,SAASC,MAAM;QAE1B,MAAMC,eAAAA,GAAkBP,MAAAA,CAAOQ,QAAQ,CAACX,uBAAAA,CAAAA;AAExC,QAAA,MAAMY,gBAAgBP,uBAAAA,CAAwBK,eAAAA,CAAAA;AAC9C,QAAA,MAAMG,eAAeP,qBAAAA,CAAsBI,eAAAA,CAAAA;QAE3C,OAAO;AACLI,YAAAA,IAAAA,EAAMV,OAAAA,CAAQS,YAAAA,CAAAA;YAEdE,IAAAA,EAAM;AACJC,gBAAAA,EAAAA,EAAIZ,OAAAA,CAAQ,IAAA,CAAA;AACZa,gBAAAA,IAAAA,EAAMb,OAAAA,CAAQQ,aAAAA;AACpB,aAAA;YAEIM,WAAAA,EAAa,yBAAA;AAEb,YAAA,MAAMC,OAAAA,CAAAA,CAAQC,MAAM,EAAEL,IAAI,EAAEM,OAAO,EAAA;gBACjC,MAAM,EAAEC,UAAU,EAAE,GAAGD,OAAAA;AAEvBC,gBAAAA,UAAAA,CAAWC,MAAM,GAAG;AAAEP,oBAAAA,EAAAA,EAAID,KAAKC;AAAE,iBAAA;AACjCM,gBAAAA,UAAAA,CAAWE,OAAO,CAACC,IAAI,GAAG7B,aAAAA,CAAcmB,KAAKE,IAAI,CAAA;gBAEjD,MAAMd,MAAAA,CAAOI,MAAM,CAAC,mBAAA,CAAA,CAAqBmB,UAAU,CAAC,MAAA,CAAA,CAAQC,MAAM,CAACL,UAAAA,CAAAA;AAEnExB,gBAAAA,eAAAA,CAAgBwB,WAAWG,IAAI,CAAA;gBAE/B,OAAO;AACLG,oBAAAA,KAAAA,EAAON,WAAWG,IAAI;oBACtBI,IAAAA,EAAM;AAAEd,wBAAAA,IAAAA;wBAAMe,WAAAA,EAAa;AAAgC;AACnE,iBAAA;AACA,YAAA;AACA,SAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-input.js","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS
|
|
1
|
+
{"version":3,"file":"login-input.js","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS;AAAO,iBAAA,CAAA;AACrD,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-input.mjs","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS
|
|
1
|
+
{"version":3,"file":"login-input.mjs","sources":["../../../../server/graphql/types/login-input.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.inputObjectType({\n name: 'UsersPermissionsLoginInput',\n\n definition(t) {\n t.nonNull.string('identifier');\n t.nonNull.string('password');\n t.nonNull.string('provider', { default: 'local' });\n },\n });\n};\n"],"names":["loginInput","nexus","inputObjectType","name","definition","t","nonNull","string","default"],"mappings":";;;;;IAEAA,UAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,eAAe,CAAC;YAC3BC,IAAAA,EAAM,4BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;gBACVA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,YAAA,CAAA;gBACjBF,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,CAAA;AACjBF,gBAAAA,CAAAA,CAAEC,OAAO,CAACC,MAAM,CAAC,UAAA,EAAY;oBAAEC,OAAAA,EAAS;AAAO,iBAAA,CAAA;AACrD,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-payload.js","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM
|
|
1
|
+
{"version":3,"file":"login-payload.js","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM;AAAoB,iBAAA,CAAA;AAC1D,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-payload.mjs","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM
|
|
1
|
+
{"version":3,"file":"login-payload.mjs","sources":["../../../../server/graphql/types/login-payload.js"],"sourcesContent":["'use strict';\n\nmodule.exports = ({ nexus }) => {\n return nexus.objectType({\n name: 'UsersPermissionsLoginPayload',\n\n definition(t) {\n t.string('jwt');\n t.nonNull.field('user', { type: 'UsersPermissionsMe' });\n },\n });\n};\n"],"names":["loginPayload","nexus","objectType","name","definition","t","string","nonNull","field","type"],"mappings":";;;;;IAEAA,YAAAA,GAAiB,CAAC,EAAEC,KAAK,EAAE,GAAA;QACzB,OAAOA,KAAAA,CAAMC,UAAU,CAAC;YACtBC,IAAAA,EAAM,8BAAA;AAENC,YAAAA,UAAAA,CAAAA,CAAWC,CAAC,EAAA;AACVA,gBAAAA,CAAAA,CAAEC,MAAM,CAAC,KAAA,CAAA;AACTD,gBAAAA,CAAAA,CAAEE,OAAO,CAACC,KAAK,CAAC,MAAA,EAAQ;oBAAEC,IAAAA,EAAM;AAAoB,iBAAA,CAAA;AAC1D,YAAA;AACA,SAAA,CAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var require$$0 = require('lodash/fp');
|
|
4
4
|
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
|
|
8
|
+
|
|
5
9
|
var utils;
|
|
6
10
|
var hasRequiredUtils;
|
|
7
11
|
function requireUtils() {
|
|
8
12
|
if (hasRequiredUtils) return utils;
|
|
9
13
|
hasRequiredUtils = 1;
|
|
10
|
-
const { getOr } = require$$
|
|
14
|
+
const { getOr } = require$$0__default.default;
|
|
11
15
|
/**
|
|
12
16
|
* Throws an ApolloError if context body contains a bad request
|
|
13
17
|
* @param contextBody - body of the context object given to the resolver
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../server/graphql/utils.js"],"sourcesContent":["'use strict';\n\nconst { getOr } = require('lodash/fp');\n\n/**\n * Throws an ApolloError if context body contains a bad request\n * @param contextBody - body of the context object given to the resolver\n * @throws ApolloError if the body is a bad request\n */\nfunction checkBadRequest(contextBody) {\n const statusCode = getOr(200, 'statusCode', contextBody);\n\n if (statusCode !== 200) {\n const errorMessage = getOr('Bad Request', 'error', contextBody);\n\n const exception = new Error(errorMessage);\n\n exception.code = statusCode || 400;\n exception.data = contextBody;\n\n throw exception;\n }\n}\n\nmodule.exports = {\n checkBadRequest,\n};\n"],"names":["getOr","require$$0","checkBadRequest","contextBody","statusCode","errorMessage","exception","Error","code","data","utils"],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../server/graphql/utils.js"],"sourcesContent":["'use strict';\n\nconst { getOr } = require('lodash/fp');\n\n/**\n * Throws an ApolloError if context body contains a bad request\n * @param contextBody - body of the context object given to the resolver\n * @throws ApolloError if the body is a bad request\n */\nfunction checkBadRequest(contextBody) {\n const statusCode = getOr(200, 'statusCode', contextBody);\n\n if (statusCode !== 200) {\n const errorMessage = getOr('Bad Request', 'error', contextBody);\n\n const exception = new Error(errorMessage);\n\n exception.code = statusCode || 400;\n exception.data = contextBody;\n\n throw exception;\n }\n}\n\nmodule.exports = {\n checkBadRequest,\n};\n"],"names":["getOr","require$$0","checkBadRequest","contextBody","statusCode","errorMessage","exception","Error","code","data","utils"],"mappings":";;;;;;;;;;;;;IAEA,MAAM,EAAEA,KAAK,EAAE,GAAGC,2BAAAA;AAElB;;;;KAKA,SAASC,gBAAgBC,WAAW,EAAA;QAClC,MAAMC,UAAAA,GAAaJ,KAAAA,CAAM,GAAA,EAAK,YAAA,EAAcG,WAAAA,CAAAA;AAE5C,QAAA,IAAIC,eAAe,GAAA,EAAK;YACtB,MAAMC,YAAAA,GAAeL,KAAAA,CAAM,aAAA,EAAe,OAAA,EAASG,WAAAA,CAAAA;YAEnD,MAAMG,SAAAA,GAAY,IAAIC,KAAAA,CAAMF,YAAAA,CAAAA;YAE5BC,SAAAA,CAAUE,IAAI,GAAGJ,UAAAA,IAAc,GAAA;AAC/BE,YAAAA,SAAAA,CAAUG,IAAI,GAAGN,WAAAA;YAEjB,MAAMG,SAAAA;AACV,QAAA;AACA,IAAA;IAEAI,KAAAA,GAAiB;AACfR,QAAAA;AACF,KAAA;;;;;;"}
|
|
@@ -6,13 +6,20 @@ var require$$1 = require('@strapi/utils');
|
|
|
6
6
|
var require$$0 = require('lodash/fp');
|
|
7
7
|
var require$$3 = require('koa2-ratelimit');
|
|
8
8
|
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var require$$1__default$1 = /*#__PURE__*/_interopDefault(require$$1$1);
|
|
12
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
13
|
+
var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
|
|
14
|
+
var require$$3__default = /*#__PURE__*/_interopDefault(require$$3);
|
|
15
|
+
|
|
9
16
|
var hasRequiredRateLimit;
|
|
10
17
|
function requireRateLimit() {
|
|
11
18
|
if (hasRequiredRateLimit) return rateLimit.__module.exports;
|
|
12
19
|
hasRequiredRateLimit = 1;
|
|
13
|
-
const path = require$$
|
|
14
|
-
const utils = require$$
|
|
15
|
-
const { isString, has, toLower } = require$$
|
|
20
|
+
const path = require$$1__default$1.default;
|
|
21
|
+
const utils = require$$1__default.default;
|
|
22
|
+
const { isString, has, toLower } = require$$0__default.default;
|
|
16
23
|
const { RateLimitError } = utils.errors;
|
|
17
24
|
/**
|
|
18
25
|
* Routes where the rate-limit key MUST NOT include a user identifier
|
|
@@ -103,7 +110,7 @@ function requireRateLimit() {
|
|
|
103
110
|
rateLimitConfig.enabled = true;
|
|
104
111
|
}
|
|
105
112
|
if (rateLimitConfig.enabled === true) {
|
|
106
|
-
const rateLimit = require$$
|
|
113
|
+
const rateLimit = require$$3__default.default.RateLimit;
|
|
107
114
|
const loadConfig = buildRateLimitLoadConfig(ctx, rateLimitConfig, config);
|
|
108
115
|
return rateLimit.middleware(loadConfig)(ctx, next);
|
|
109
116
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.js","sources":["../../../server/middlewares/rateLimit.js"],"sourcesContent":["'use strict';\n\nconst path = require('path');\nconst utils = require('@strapi/utils');\nconst { isString, has, toLower } = require('lodash/fp');\n\nconst { RateLimitError } = utils.errors;\n\n/**\n * Routes where the rate-limit key MUST NOT include a user identifier\n * derived from `ctx.request.body.email`.\n *\n * On these routes the request body either has no `email` field\n * (e.g. /auth/local uses `identifier`, /auth/reset-password uses\n * `code`, /auth/change-password uses `currentPassword`) or the\n * field is not part of the route contract. Including the\n * attacker-controlled `body.email` in the rate-limit key on these\n * routes lets a caller obtain a fresh key on every request by\n * varying that field, effectively bypassing per-IP throttling.\n *\n * Comparison uses endsWith so the check is stable under any router\n * mount prefix (e.g. `/api/auth/local`).\n *\n * @see https://github.com/strapi/strapi/security/advisories/GHSA-7mqx-wwh4-f9fw\n *\n * When adding a new `rateLimit`-protected auth route whose body does not\n * use `email` as the real identifier, add its path suffix here (or an\n * equivalent `routeUsesEmailIdentifier` rule) so the key cannot be split\n * with arbitrary `body.email` values.\n */\nconst ROUTES_WITHOUT_IDENTIFIER = ['/auth/local', '/auth/reset-password', '/auth/change-password'];\n\nconst isOAuthCallbackPath = (requestPath) => requestPath.includes('/connect/');\n\nconst routeUsesEmailIdentifier = (requestPath) => {\n if (isOAuthCallbackPath(requestPath)) {\n return false;\n }\n\n return !ROUTES_WITHOUT_IDENTIFIER.some((route) => requestPath.endsWith(route));\n};\n\n/**\n * Paths suitable for route matching and prefix keys: POSIX-normalized,\n * lower-cased, trailing slashes removed so `/api/auth/local` and\n * `/api/auth/local/` share one bucket.\n */\nconst normalizeRequestPathForRateLimit = (requestPath) => {\n const normalized = path.normalize(requestPath);\n const lower = toLower(normalized);\n return lower.replace(/\\/+$/, '') || '/';\n};\n\nconst getEmailIdentifierForKey = (body) => {\n if (!body || !isString(body.email) || body.email === '') {\n return 'unknownIdentifier';\n }\n\n return toLower(body.email);\n};\n\nconst buildPrefixKey = (ctx) => {\n let requestPath;\n if (!isString(ctx.request.path)) {\n requestPath = 'invalidPath';\n } else {\n requestPath = normalizeRequestPathForRateLimit(ctx.request.path);\n if (requestPath === '.' || requestPath === '..') {\n requestPath = 'invalidPath';\n }\n }\n\n if (!routeUsesEmailIdentifier(requestPath)) {\n return `noIdentifier:${requestPath}:${ctx.request.ip}`;\n }\n\n const userIdentifier = getEmailIdentifierForKey(ctx.request.body);\n return `${userIdentifier}:${requestPath}:${ctx.request.ip}`;\n};\n\nconst buildRateLimitLoadConfig = (ctx, rateLimitConfig, routeMiddlewareConfig) => {\n return {\n interval: { min: 5 },\n max: 5,\n ...rateLimitConfig,\n ...routeMiddlewareConfig,\n handler() {\n throw new RateLimitError();\n },\n prefixKey: buildPrefixKey(ctx),\n };\n};\n\nmodule.exports =\n (config, { strapi }) =>\n async (ctx, next) => {\n let rateLimitConfig = strapi.config.get('plugin::users-permissions.ratelimit');\n\n if (!rateLimitConfig) {\n rateLimitConfig = {\n enabled: true,\n };\n }\n\n if (!has('enabled', rateLimitConfig)) {\n rateLimitConfig.enabled = true;\n }\n\n if (rateLimitConfig.enabled === true) {\n const rateLimit = require('koa2-ratelimit').RateLimit;\n\n const loadConfig = buildRateLimitLoadConfig(ctx, rateLimitConfig, config);\n\n return rateLimit.middleware(loadConfig)(ctx, next);\n }\n\n return next();\n };\n\nmodule.exports.buildPrefixKey = buildPrefixKey;\nmodule.exports.ROUTES_WITHOUT_IDENTIFIER = ROUTES_WITHOUT_IDENTIFIER;\nmodule.exports.normalizeRequestPathForRateLimit = normalizeRequestPathForRateLimit;\nmodule.exports.buildRateLimitLoadConfig = buildRateLimitLoadConfig;\n"],"names":["path","require$$0","utils","require$$1","isString","has","toLower","require$$2","RateLimitError","errors","ROUTES_WITHOUT_IDENTIFIER","isOAuthCallbackPath","requestPath","includes","routeUsesEmailIdentifier","some","route","endsWith","normalizeRequestPathForRateLimit","normalized","normalize","lower","replace","getEmailIdentifierForKey","body","email","buildPrefixKey","ctx","request","ip","userIdentifier","buildRateLimitLoadConfig","rateLimitConfig","routeMiddlewareConfig","interval","min","max","handler","prefixKey","rateLimitModule","exports","config","strapi","next","get","enabled","rateLimit","require$$3","RateLimit","loadConfig","middleware"],"mappings":"
|
|
1
|
+
{"version":3,"file":"rateLimit.js","sources":["../../../server/middlewares/rateLimit.js"],"sourcesContent":["'use strict';\n\nconst path = require('path');\nconst utils = require('@strapi/utils');\nconst { isString, has, toLower } = require('lodash/fp');\n\nconst { RateLimitError } = utils.errors;\n\n/**\n * Routes where the rate-limit key MUST NOT include a user identifier\n * derived from `ctx.request.body.email`.\n *\n * On these routes the request body either has no `email` field\n * (e.g. /auth/local uses `identifier`, /auth/reset-password uses\n * `code`, /auth/change-password uses `currentPassword`) or the\n * field is not part of the route contract. Including the\n * attacker-controlled `body.email` in the rate-limit key on these\n * routes lets a caller obtain a fresh key on every request by\n * varying that field, effectively bypassing per-IP throttling.\n *\n * Comparison uses endsWith so the check is stable under any router\n * mount prefix (e.g. `/api/auth/local`).\n *\n * @see https://github.com/strapi/strapi/security/advisories/GHSA-7mqx-wwh4-f9fw\n *\n * When adding a new `rateLimit`-protected auth route whose body does not\n * use `email` as the real identifier, add its path suffix here (or an\n * equivalent `routeUsesEmailIdentifier` rule) so the key cannot be split\n * with arbitrary `body.email` values.\n */\nconst ROUTES_WITHOUT_IDENTIFIER = ['/auth/local', '/auth/reset-password', '/auth/change-password'];\n\nconst isOAuthCallbackPath = (requestPath) => requestPath.includes('/connect/');\n\nconst routeUsesEmailIdentifier = (requestPath) => {\n if (isOAuthCallbackPath(requestPath)) {\n return false;\n }\n\n return !ROUTES_WITHOUT_IDENTIFIER.some((route) => requestPath.endsWith(route));\n};\n\n/**\n * Paths suitable for route matching and prefix keys: POSIX-normalized,\n * lower-cased, trailing slashes removed so `/api/auth/local` and\n * `/api/auth/local/` share one bucket.\n */\nconst normalizeRequestPathForRateLimit = (requestPath) => {\n const normalized = path.normalize(requestPath);\n const lower = toLower(normalized);\n return lower.replace(/\\/+$/, '') || '/';\n};\n\nconst getEmailIdentifierForKey = (body) => {\n if (!body || !isString(body.email) || body.email === '') {\n return 'unknownIdentifier';\n }\n\n return toLower(body.email);\n};\n\nconst buildPrefixKey = (ctx) => {\n let requestPath;\n if (!isString(ctx.request.path)) {\n requestPath = 'invalidPath';\n } else {\n requestPath = normalizeRequestPathForRateLimit(ctx.request.path);\n if (requestPath === '.' || requestPath === '..') {\n requestPath = 'invalidPath';\n }\n }\n\n if (!routeUsesEmailIdentifier(requestPath)) {\n return `noIdentifier:${requestPath}:${ctx.request.ip}`;\n }\n\n const userIdentifier = getEmailIdentifierForKey(ctx.request.body);\n return `${userIdentifier}:${requestPath}:${ctx.request.ip}`;\n};\n\nconst buildRateLimitLoadConfig = (ctx, rateLimitConfig, routeMiddlewareConfig) => {\n return {\n interval: { min: 5 },\n max: 5,\n ...rateLimitConfig,\n ...routeMiddlewareConfig,\n handler() {\n throw new RateLimitError();\n },\n prefixKey: buildPrefixKey(ctx),\n };\n};\n\nmodule.exports =\n (config, { strapi }) =>\n async (ctx, next) => {\n let rateLimitConfig = strapi.config.get('plugin::users-permissions.ratelimit');\n\n if (!rateLimitConfig) {\n rateLimitConfig = {\n enabled: true,\n };\n }\n\n if (!has('enabled', rateLimitConfig)) {\n rateLimitConfig.enabled = true;\n }\n\n if (rateLimitConfig.enabled === true) {\n const rateLimit = require('koa2-ratelimit').RateLimit;\n\n const loadConfig = buildRateLimitLoadConfig(ctx, rateLimitConfig, config);\n\n return rateLimit.middleware(loadConfig)(ctx, next);\n }\n\n return next();\n };\n\nmodule.exports.buildPrefixKey = buildPrefixKey;\nmodule.exports.ROUTES_WITHOUT_IDENTIFIER = ROUTES_WITHOUT_IDENTIFIER;\nmodule.exports.normalizeRequestPathForRateLimit = normalizeRequestPathForRateLimit;\nmodule.exports.buildRateLimitLoadConfig = buildRateLimitLoadConfig;\n"],"names":["path","require$$0","utils","require$$1","isString","has","toLower","require$$2","RateLimitError","errors","ROUTES_WITHOUT_IDENTIFIER","isOAuthCallbackPath","requestPath","includes","routeUsesEmailIdentifier","some","route","endsWith","normalizeRequestPathForRateLimit","normalized","normalize","lower","replace","getEmailIdentifierForKey","body","email","buildPrefixKey","ctx","request","ip","userIdentifier","buildRateLimitLoadConfig","rateLimitConfig","routeMiddlewareConfig","interval","min","max","handler","prefixKey","rateLimitModule","exports","config","strapi","next","get","enabled","rateLimit","require$$3","RateLimit","loadConfig","middleware"],"mappings":"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"}
|
package/dist/server/register.js
CHANGED
|
@@ -6,13 +6,18 @@ var usersPermissions = require('./strategies/users-permissions.js');
|
|
|
6
6
|
var sanitizers = require('./utils/sanitize/sanitizers.js');
|
|
7
7
|
var index = require('./graphql/index.js');
|
|
8
8
|
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
|
|
12
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
13
|
+
|
|
9
14
|
var register;
|
|
10
15
|
var hasRequiredRegister;
|
|
11
16
|
function requireRegister() {
|
|
12
17
|
if (hasRequiredRegister) return register;
|
|
13
18
|
hasRequiredRegister = 1;
|
|
14
|
-
const fs = require$$
|
|
15
|
-
const path = require$$
|
|
19
|
+
const fs = require$$0__default.default;
|
|
20
|
+
const path = require$$1__default.default;
|
|
16
21
|
const authStrategy = usersPermissions.__require();
|
|
17
22
|
const sanitizers$1 = sanitizers.__require();
|
|
18
23
|
register = ({ strapi })=>{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":"
|
|
1
|
+
{"version":3,"file":"register.js","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,2BAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,2BAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,0BAAAA,EAAAA;AACrB,IAAA,MAAMC,YAAAA,GAAaC,oBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,aAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,eAAAA,EAAAA,CAAqB;AAAEL,gBAAAA;AAAM,aAAA,CAAA;AACjC,QAAA;QAEE,IAAIA,MAAAA,CAAOI,MAAM,CAAC,eAAA,CAAA,EAAkB;AAClC,YAAA,MAAME,QAAAA,GAAWb,IAAAA,CAAKc,IAAI,CAACC,SAAAA,EAAW,sCAAA,CAAA;AACtC,YAAA,MAAMC,IAAAA,GAAOlB,EAAAA,CAAGmB,YAAY,CAACJ,QAAAA,EAAU,MAAA,CAAA;YAEvCN,MAAAA,CACGI,MAAM,CAAC,eAAA,CAAA,CACPO,OAAO,CAAC,UAAA,CAAA,CACRC,gBAAgB,CAACH,IAAAA,EAAM;gBACtBI,YAAAA,EAAc,mBAAA;gBACdC,qBAAAA,EAAuB;AAAC,oBAAA;AAAoB;AACpD,aAAA,CAAA;AACA,QAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.mjs","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,UAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,UAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,uBAAAA,EAAAA;AACrB,IAAA,MAAMC,UAAAA,GAAaC,iBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,WAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,cAAAA,EAAAA,CAAqB;AAAEL,gBAAAA
|
|
1
|
+
{"version":3,"file":"register.mjs","sources":["../../server/register.js"],"sourcesContent":["'use strict';\n\nconst fs = require('fs');\nconst path = require('path');\n\nconst authStrategy = require('./strategies/users-permissions');\nconst sanitizers = require('./utils/sanitize/sanitizers');\n\nmodule.exports = ({ strapi }) => {\n strapi.get('auth').register('content-api', authStrategy);\n strapi.sanitizers.add('content-api.output', sanitizers.defaultSanitizeOutput);\n\n if (strapi.plugin('graphql')) {\n require('./graphql')({ strapi });\n }\n\n if (strapi.plugin('documentation')) {\n const specPath = path.join(__dirname, '../../documentation/content-api.yaml');\n const spec = fs.readFileSync(specPath, 'utf8');\n\n strapi\n .plugin('documentation')\n .service('override')\n .registerOverride(spec, {\n pluginOrigin: 'users-permissions',\n excludeFromGeneration: ['users-permissions'],\n });\n }\n};\n"],"names":["fs","require$$0","path","require$$1","authStrategy","require$$2","sanitizers","require$$3","register","strapi","get","add","defaultSanitizeOutput","plugin","require$$4","specPath","join","__dirname","spec","readFileSync","service","registerOverride","pluginOrigin","excludeFromGeneration"],"mappings":";;;;;;;;;;;AAEA,IAAA,MAAMA,EAAAA,GAAKC,UAAAA;AACX,IAAA,MAAMC,IAAAA,GAAOC,UAAAA;AAEb,IAAA,MAAMC,YAAAA,GAAeC,uBAAAA,EAAAA;AACrB,IAAA,MAAMC,UAAAA,GAAaC,iBAAAA,EAAAA;IAEnBC,QAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,GAAA;AAC1BA,QAAAA,MAAAA,CAAOC,GAAG,CAAC,MAAA,CAAA,CAAQF,QAAQ,CAAC,aAAA,EAAeJ,YAAAA,CAAAA;AAC3CK,QAAAA,MAAAA,CAAOH,UAAU,CAACK,GAAG,CAAC,oBAAA,EAAsBL,WAAWM,qBAAqB,CAAA;QAE5E,IAAIH,MAAAA,CAAOI,MAAM,CAAC,SAAA,CAAA,EAAY;YAC5BC,cAAAA,EAAAA,CAAqB;AAAEL,gBAAAA;AAAM,aAAA,CAAA;AACjC,QAAA;QAEE,IAAIA,MAAAA,CAAOI,MAAM,CAAC,eAAA,CAAA,EAAkB;AAClC,YAAA,MAAME,QAAAA,GAAWb,IAAAA,CAAKc,IAAI,CAACC,SAAAA,EAAW,sCAAA,CAAA;AACtC,YAAA,MAAMC,IAAAA,GAAOlB,EAAAA,CAAGmB,YAAY,CAACJ,QAAAA,EAAU,MAAA,CAAA;YAEvCN,MAAAA,CACGI,MAAM,CAAC,eAAA,CAAA,CACPO,OAAO,CAAC,UAAA,CAAA,CACRC,gBAAgB,CAACH,IAAAA,EAAM;gBACtBI,YAAAA,EAAc,mBAAA;gBACdC,qBAAAA,EAAuB;AAAC,oBAAA;AAAoB;AACpD,aAAA,CAAA;AACA,QAAA;AACA,IAAA,CAAA;;;;;;"}
|
|
@@ -6,12 +6,16 @@ var user = require('./user.js');
|
|
|
6
6
|
var role = require('./role.js');
|
|
7
7
|
var permissions = require('./permissions.js');
|
|
8
8
|
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
12
|
+
|
|
9
13
|
var contentApi;
|
|
10
14
|
var hasRequiredContentApi;
|
|
11
15
|
function requireContentApi() {
|
|
12
16
|
if (hasRequiredContentApi) return contentApi;
|
|
13
17
|
hasRequiredContentApi = 1;
|
|
14
|
-
const { createContentApiRoutesFactory } = require$$
|
|
18
|
+
const { createContentApiRoutesFactory } = require$$1__default.default;
|
|
15
19
|
const authRoutes = auth.__require();
|
|
16
20
|
const userRoutes = user.__require();
|
|
17
21
|
const roleRoutes = role.__require();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../server/routes/content-api/index.js"],"sourcesContent":["'use strict';\n\nconst { createContentApiRoutesFactory } = require('@strapi/utils');\nconst authRoutes = require('./auth');\nconst userRoutes = require('./user');\nconst roleRoutes = require('./role');\nconst permissionsRoutes = require('./permissions');\n\nconst createContentApiRoutes = createContentApiRoutesFactory(() => {\n return [\n ...authRoutes(strapi),\n ...userRoutes(strapi),\n ...roleRoutes(strapi),\n ...permissionsRoutes(strapi),\n ];\n});\n\nmodule.exports = createContentApiRoutes;\n"],"names":["createContentApiRoutesFactory","require$$0","authRoutes","require$$1","userRoutes","require$$2","roleRoutes","require$$3","permissionsRoutes","require$$4","createContentApiRoutes","strapi","contentApi"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../server/routes/content-api/index.js"],"sourcesContent":["'use strict';\n\nconst { createContentApiRoutesFactory } = require('@strapi/utils');\nconst authRoutes = require('./auth');\nconst userRoutes = require('./user');\nconst roleRoutes = require('./role');\nconst permissionsRoutes = require('./permissions');\n\nconst createContentApiRoutes = createContentApiRoutesFactory(() => {\n return [\n ...authRoutes(strapi),\n ...userRoutes(strapi),\n ...roleRoutes(strapi),\n ...permissionsRoutes(strapi),\n ];\n});\n\nmodule.exports = createContentApiRoutes;\n"],"names":["createContentApiRoutesFactory","require$$0","authRoutes","require$$1","userRoutes","require$$2","roleRoutes","require$$3","permissionsRoutes","require$$4","createContentApiRoutes","strapi","contentApi"],"mappings":";;;;;;;;;;;;;;;;;IAEA,MAAM,EAAEA,6BAA6B,EAAE,GAAGC,2BAAAA;AAC1C,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,UAAAA,GAAaC,cAAAA,EAAAA;AACnB,IAAA,MAAMC,iBAAAA,GAAoBC,qBAAAA,EAAAA;AAE1B,IAAA,MAAMC,yBAAyBV,6BAAAA,CAA8B,IAAA;QAC3D,OAAO;eACFE,UAAAA,CAAWS,MAAAA,CAAAA;eACXP,UAAAA,CAAWO,MAAAA,CAAAA;eACXL,UAAAA,CAAWK,MAAAA,CAAAA;eACXH,iBAAAA,CAAkBG,MAAAA;AACtB,SAAA;AACH,IAAA,CAAA,CAAA;IAEAC,UAAAA,GAAiBF,sBAAAA;;;;;;"}
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
var require$$1 = require('zod/v4');
|
|
4
4
|
var validation = require('./validation.js');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
9
|
+
|
|
6
10
|
var user;
|
|
7
11
|
var hasRequiredUser;
|
|
8
12
|
function requireUser() {
|
|
9
13
|
if (hasRequiredUser) return user;
|
|
10
14
|
hasRequiredUser = 1;
|
|
11
|
-
const z = require$$
|
|
15
|
+
const z = require$$1__default.default;
|
|
12
16
|
const { UsersPermissionsRouteValidator } = validation.__require();
|
|
13
17
|
user = (strapi)=>{
|
|
14
18
|
const validator = new UsersPermissionsRouteValidator(strapi);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sources":["../../../../server/routes/content-api/user.js"],"sourcesContent":["'use strict';\n\nconst z = require('zod/v4');\nconst { UsersPermissionsRouteValidator } = require('./validation');\n\nmodule.exports = (strapi) => {\n const validator = new UsersPermissionsRouteValidator(strapi);\n\n return [\n {\n method: 'GET',\n path: '/users/count',\n handler: 'user.count',\n config: {\n prefix: '',\n },\n request: {\n query: {\n filters: validator.filters.optional(),\n },\n },\n response: z.number(),\n },\n {\n method: 'GET',\n path: '/users',\n handler: 'user.find',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: z.array(validator.userSchema),\n },\n {\n method: 'GET',\n path: '/users/me',\n handler: 'user.me',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'GET',\n path: '/users/:id',\n handler: 'user.findOne',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'POST',\n path: '/users',\n handler: 'user.create',\n config: {\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.createUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'PUT',\n path: '/users/:id',\n handler: 'user.update',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n body: { 'application/json': validator.updateUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'DELETE',\n path: '/users/:id',\n handler: 'user.destroy',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n },\n response: validator.userSchema,\n },\n ];\n};\n"],"names":["z","require$$0","UsersPermissionsRouteValidator","require$$1","user","strapi","validator","method","path","handler","config","prefix","request","query","filters","optional","response","number","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","array","userSchema","params","id","userIdParam","body","createUserBodySchema","updateUserBodySchema"],"mappings":"
|
|
1
|
+
{"version":3,"file":"user.js","sources":["../../../../server/routes/content-api/user.js"],"sourcesContent":["'use strict';\n\nconst z = require('zod/v4');\nconst { UsersPermissionsRouteValidator } = require('./validation');\n\nmodule.exports = (strapi) => {\n const validator = new UsersPermissionsRouteValidator(strapi);\n\n return [\n {\n method: 'GET',\n path: '/users/count',\n handler: 'user.count',\n config: {\n prefix: '',\n },\n request: {\n query: {\n filters: validator.filters.optional(),\n },\n },\n response: z.number(),\n },\n {\n method: 'GET',\n path: '/users',\n handler: 'user.find',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n sort: validator.querySort.optional(),\n pagination: validator.pagination.optional(),\n filters: validator.filters.optional(),\n },\n },\n response: z.array(validator.userSchema),\n },\n {\n method: 'GET',\n path: '/users/me',\n handler: 'user.me',\n config: {\n prefix: '',\n },\n request: {\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'GET',\n path: '/users/:id',\n handler: 'user.findOne',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n query: {\n fields: validator.queryFields.optional(),\n populate: validator.queryPopulate.optional(),\n },\n },\n response: validator.userSchema,\n },\n {\n method: 'POST',\n path: '/users',\n handler: 'user.create',\n config: {\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.createUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'PUT',\n path: '/users/:id',\n handler: 'user.update',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n body: { 'application/json': validator.updateUserBodySchema },\n },\n response: validator.userSchema,\n },\n {\n method: 'DELETE',\n path: '/users/:id',\n handler: 'user.destroy',\n config: {\n prefix: '',\n },\n request: {\n params: {\n id: validator.userIdParam,\n },\n },\n response: validator.userSchema,\n },\n ];\n};\n"],"names":["z","require$$0","UsersPermissionsRouteValidator","require$$1","user","strapi","validator","method","path","handler","config","prefix","request","query","filters","optional","response","number","fields","queryFields","populate","queryPopulate","sort","querySort","pagination","array","userSchema","params","id","userIdParam","body","createUserBodySchema","updateUserBodySchema"],"mappings":"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"}
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
var require$$1 = require('@strapi/utils');
|
|
4
4
|
var require$$1$1 = require('zod/v4');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
9
|
+
var require$$1__default$1 = /*#__PURE__*/_interopDefault(require$$1$1);
|
|
10
|
+
|
|
6
11
|
var validation;
|
|
7
12
|
var hasRequiredValidation;
|
|
8
13
|
function requireValidation() {
|
|
9
14
|
if (hasRequiredValidation) return validation;
|
|
10
15
|
hasRequiredValidation = 1;
|
|
11
|
-
const { AbstractRouteValidator } = require$$
|
|
12
|
-
const z = require$$
|
|
16
|
+
const { AbstractRouteValidator } = require$$1__default.default;
|
|
17
|
+
const z = require$$1__default$1.default;
|
|
13
18
|
class UsersPermissionsRouteValidator extends AbstractRouteValidator {
|
|
14
19
|
get userSchema() {
|
|
15
20
|
return z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sources":["../../../../server/routes/content-api/validation.js"],"sourcesContent":["'use strict';\n\nconst { AbstractRouteValidator } = require('@strapi/utils');\nconst z = require('zod/v4');\n\nclass UsersPermissionsRouteValidator extends AbstractRouteValidator {\n constructor(strapi) {\n super();\n this._strapi = strapi;\n }\n\n get userSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n username: z.string(),\n email: z.string(),\n provider: z.string(),\n confirmed: z.boolean(),\n blocked: z.boolean(),\n role: z\n .union([\n z.number(),\n z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n }),\n ])\n .optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n });\n }\n\n get roleSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n nb_users: z.number().optional(),\n permissions: z\n .record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n )\n .optional(),\n users: z.array(z.unknown()).optional(),\n });\n }\n\n get permissionSchema() {\n return z.object({\n id: z.number(),\n action: z.string(),\n role: z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n }),\n createdAt: z.string(),\n updatedAt: z.string(),\n });\n }\n\n get authResponseSchema() {\n return z.object({\n jwt: z.string(),\n refreshToken: z.string().optional(),\n user: this.userSchema,\n });\n }\n\n get authResponseWithoutJwtSchema() {\n return z.object({\n user: this.userSchema,\n });\n }\n\n get authRegisterResponseSchema() {\n return z.union([this.authResponseSchema, this.authResponseWithoutJwtSchema]);\n }\n\n get forgotPasswordResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get sendEmailConfirmationResponseSchema() {\n return z.object({\n email: z.string(),\n sent: z.boolean(),\n });\n }\n\n get rolesResponseSchema() {\n return z.object({\n roles: z.array(this.roleSchema),\n });\n }\n\n get roleResponseSchema() {\n return z.object({\n role: this.roleSchema,\n });\n }\n\n get roleSuccessResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get permissionsResponseSchema() {\n return z.object({\n permissions: z.record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n ),\n });\n }\n\n get loginBodySchema() {\n return z.object({\n identifier: z.string(),\n password: z.string(),\n });\n }\n\n get registerBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n });\n }\n\n get forgotPasswordBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get resetPasswordBodySchema() {\n return z.object({\n code: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get changePasswordBodySchema() {\n return z.object({\n currentPassword: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get sendEmailConfirmationBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get createUserBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n role: z.number().optional(),\n });\n }\n\n get updateUserBodySchema() {\n return z.object({\n username: z.string().optional(),\n email: z.email().optional(),\n password: z.string().optional(),\n role: z.number().optional(),\n });\n }\n\n get createRoleBodySchema() {\n return z.object({\n name: z.string(),\n description: z.string().optional(),\n type: z.string(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get updateRoleBodySchema() {\n return z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n type: z.string().optional(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get userIdParam() {\n return z.string();\n }\n\n get roleIdParam() {\n return z.string();\n }\n\n get providerParam() {\n return z.string();\n }\n}\n\nmodule.exports = {\n UsersPermissionsRouteValidator,\n};\n"],"names":["AbstractRouteValidator","require$$0","z","require$$1","UsersPermissionsRouteValidator","userSchema","object","id","number","documentId","string","username","email","provider","confirmed","boolean","blocked","role","union","name","description","nullable","type","createdAt","updatedAt","optional","publishedAt","roleSchema","nb_users","permissions","record","controllers","enabled","policy","users","array","unknown","permissionSchema","action","authResponseSchema","jwt","refreshToken","user","authResponseWithoutJwtSchema","authRegisterResponseSchema","forgotPasswordResponseSchema","ok","sendEmailConfirmationResponseSchema","sent","rolesResponseSchema","roles","roleResponseSchema","roleSuccessResponseSchema","permissionsResponseSchema","loginBodySchema","identifier","password","registerBodySchema","forgotPasswordBodySchema","resetPasswordBodySchema","code","passwordConfirmation","changePasswordBodySchema","currentPassword","sendEmailConfirmationBodySchema","createUserBodySchema","updateUserBodySchema","createRoleBodySchema","updateRoleBodySchema","userIdParam","roleIdParam","providerParam","strapi","_strapi","validation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sources":["../../../../server/routes/content-api/validation.js"],"sourcesContent":["'use strict';\n\nconst { AbstractRouteValidator } = require('@strapi/utils');\nconst z = require('zod/v4');\n\nclass UsersPermissionsRouteValidator extends AbstractRouteValidator {\n constructor(strapi) {\n super();\n this._strapi = strapi;\n }\n\n get userSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n username: z.string(),\n email: z.string(),\n provider: z.string(),\n confirmed: z.boolean(),\n blocked: z.boolean(),\n role: z\n .union([\n z.number(),\n z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n }),\n ])\n .optional(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n });\n }\n\n get roleSchema() {\n return z.object({\n id: z.number(),\n documentId: z.string(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n createdAt: z.string(),\n updatedAt: z.string(),\n publishedAt: z.string(),\n nb_users: z.number().optional(),\n permissions: z\n .record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n )\n .optional(),\n users: z.array(z.unknown()).optional(),\n });\n }\n\n get permissionSchema() {\n return z.object({\n id: z.number(),\n action: z.string(),\n role: z.object({\n id: z.number(),\n name: z.string(),\n description: z.string().nullable(),\n type: z.string(),\n }),\n createdAt: z.string(),\n updatedAt: z.string(),\n });\n }\n\n get authResponseSchema() {\n return z.object({\n jwt: z.string(),\n refreshToken: z.string().optional(),\n user: this.userSchema,\n });\n }\n\n get authResponseWithoutJwtSchema() {\n return z.object({\n user: this.userSchema,\n });\n }\n\n get authRegisterResponseSchema() {\n return z.union([this.authResponseSchema, this.authResponseWithoutJwtSchema]);\n }\n\n get forgotPasswordResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get sendEmailConfirmationResponseSchema() {\n return z.object({\n email: z.string(),\n sent: z.boolean(),\n });\n }\n\n get rolesResponseSchema() {\n return z.object({\n roles: z.array(this.roleSchema),\n });\n }\n\n get roleResponseSchema() {\n return z.object({\n role: this.roleSchema,\n });\n }\n\n get roleSuccessResponseSchema() {\n return z.object({\n ok: z.boolean(),\n });\n }\n\n get permissionsResponseSchema() {\n return z.object({\n permissions: z.record(\n z.string(), // plugin name\n z.object({\n controllers: z.record(\n z.string(), // controller name\n z.record(\n z.string(), // action name\n z.object({\n enabled: z.boolean(),\n policy: z.string(),\n })\n )\n ),\n })\n ),\n });\n }\n\n get loginBodySchema() {\n return z.object({\n identifier: z.string(),\n password: z.string(),\n });\n }\n\n get registerBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n });\n }\n\n get forgotPasswordBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get resetPasswordBodySchema() {\n return z.object({\n code: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get changePasswordBodySchema() {\n return z.object({\n currentPassword: z.string(),\n password: z.string(),\n passwordConfirmation: z.string(),\n });\n }\n\n get sendEmailConfirmationBodySchema() {\n return z.object({\n email: z.email(),\n });\n }\n\n get createUserBodySchema() {\n return z.object({\n username: z.string(),\n email: z.email(),\n password: z.string(),\n role: z.number().optional(),\n });\n }\n\n get updateUserBodySchema() {\n return z.object({\n username: z.string().optional(),\n email: z.email().optional(),\n password: z.string().optional(),\n role: z.number().optional(),\n });\n }\n\n get createRoleBodySchema() {\n return z.object({\n name: z.string(),\n description: z.string().optional(),\n type: z.string(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get updateRoleBodySchema() {\n return z.object({\n name: z.string().optional(),\n description: z.string().optional(),\n type: z.string().optional(),\n permissions: z.record(z.string(), z.unknown()).optional(),\n });\n }\n\n get userIdParam() {\n return z.string();\n }\n\n get roleIdParam() {\n return z.string();\n }\n\n get providerParam() {\n return z.string();\n }\n}\n\nmodule.exports = {\n UsersPermissionsRouteValidator,\n};\n"],"names":["AbstractRouteValidator","require$$0","z","require$$1","UsersPermissionsRouteValidator","userSchema","object","id","number","documentId","string","username","email","provider","confirmed","boolean","blocked","role","union","name","description","nullable","type","createdAt","updatedAt","optional","publishedAt","roleSchema","nb_users","permissions","record","controllers","enabled","policy","users","array","unknown","permissionSchema","action","authResponseSchema","jwt","refreshToken","user","authResponseWithoutJwtSchema","authRegisterResponseSchema","forgotPasswordResponseSchema","ok","sendEmailConfirmationResponseSchema","sent","rolesResponseSchema","roles","roleResponseSchema","roleSuccessResponseSchema","permissionsResponseSchema","loginBodySchema","identifier","password","registerBodySchema","forgotPasswordBodySchema","resetPasswordBodySchema","code","passwordConfirmation","changePasswordBodySchema","currentPassword","sendEmailConfirmationBodySchema","createUserBodySchema","updateUserBodySchema","createRoleBodySchema","updateRoleBodySchema","userIdParam","roleIdParam","providerParam","strapi","_strapi","validation"],"mappings":"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"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
var require$$0 = require('lodash');
|
|
4
4
|
var require$$1 = require('jsonwebtoken');
|
|
5
5
|
|
|
6
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
|
|
8
|
+
var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
|
|
9
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
10
|
+
|
|
6
11
|
var jwt_1;
|
|
7
12
|
var hasRequiredJwt;
|
|
8
13
|
function requireJwt() {
|
|
@@ -12,8 +17,8 @@ function requireJwt() {
|
|
|
12
17
|
* Jwt.js service
|
|
13
18
|
*
|
|
14
19
|
* @description: A set of functions similar to controller's actions to avoid code duplication.
|
|
15
|
-
*/ const _ = require$$
|
|
16
|
-
const jwt = require$$
|
|
20
|
+
*/ const _ = require$$0__default.default;
|
|
21
|
+
const jwt = require$$1__default.default;
|
|
17
22
|
jwt_1 = ({ strapi })=>({
|
|
18
23
|
getToken (ctx) {
|
|
19
24
|
let token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwt.js","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.mjs","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"jwt.mjs","sources":["../../../server/services/jwt.js"],"sourcesContent":["'use strict';\n\n/**\n * Jwt.js service\n *\n * @description: A set of functions similar to controller's actions to avoid code duplication.\n */\n\nconst _ = require('lodash');\nconst jwt = require('jsonwebtoken');\n\nmodule.exports = ({ strapi }) => ({\n getToken(ctx) {\n let token;\n\n if (ctx.request && ctx.request.header && ctx.request.header.authorization) {\n const parts = ctx.request.header.authorization.split(/\\s+/);\n\n if (parts[0].toLowerCase() !== 'bearer' || parts.length !== 2) {\n return null;\n }\n\n token = parts[1];\n } else {\n return null;\n }\n\n return this.verify(token);\n },\n\n issue(payload, jwtOptions = {}) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n const userId = String(payload.id ?? payload.userId ?? '');\n if (!userId) {\n throw new Error('Cannot issue token: missing user id');\n }\n\n const issueRefreshToken = async () => {\n const refresh = await strapi\n .sessionManager('users-permissions')\n .generateRefreshToken(userId, undefined, { type: 'refresh' });\n\n const access = await strapi\n .sessionManager('users-permissions')\n .generateAccessToken(refresh.token);\n if ('error' in access) {\n throw new Error('Failed to generate access token');\n }\n\n return access.token;\n };\n\n return issueRefreshToken();\n }\n\n _.defaults(jwtOptions, strapi.config.get('plugin::users-permissions.jwt'));\n return jwt.sign(\n _.clone(payload.toJSON ? payload.toJSON() : payload),\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n jwtOptions\n );\n },\n\n async verify(token) {\n const mode = strapi.config.get('plugin::users-permissions.jwtManagement', 'legacy-support');\n\n if (mode === 'refresh') {\n // Accept only access tokens minted by the SessionManager for UP\n const result = strapi.sessionManager('users-permissions').validateAccessToken(token);\n if (!result.isValid || result.payload.type !== 'access') {\n throw new Error('Invalid token.');\n }\n\n const user = await strapi.db\n .query('plugin::users-permissions.user')\n .findOne({ where: { id: Number(result.payload.userId) || result.payload.userId } });\n if (!user) {\n throw new Error('Invalid token.');\n }\n\n return { id: user.id };\n }\n\n return new Promise((resolve, reject) => {\n const jwtConfig = strapi.config.get('plugin::users-permissions.jwt', {});\n const algorithms = jwtConfig && jwtConfig.algorithm ? [jwtConfig.algorithm] : undefined;\n\n jwt.verify(\n token,\n strapi.config.get('plugin::users-permissions.jwtSecret'),\n algorithms ? { algorithms } : {},\n (err, tokenPayload = {}) => {\n if (err) {\n return reject(new Error('Invalid token.'));\n }\n resolve(tokenPayload);\n }\n );\n });\n },\n});\n"],"names":["_","require$$0","jwt","require$$1","jwt_1","strapi","getToken","ctx","token","request","header","authorization","parts","split","toLowerCase","length","verify","issue","payload","jwtOptions","mode","config","get","userId","String","id","Error","issueRefreshToken","refresh","sessionManager","generateRefreshToken","undefined","type","access","generateAccessToken","defaults","sign","clone","toJSON","result","validateAccessToken","isValid","user","db","query","findOne","where","Number","Promise","resolve","reject","jwtConfig","algorithms","algorithm","err","tokenPayload"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.js","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;
|
|
1
|
+
{"version":3,"file":"permission.js","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;mBAAU,aAAA,CAAA;AAClF,YAAA,CAAA;AAEA;;;;AAIA,OACE,MAAMK,qBAAAA,CAAAA,GAAAA;AACJ,gBAAA,OAAOP,OAAOG,EAAE,CAACC,KAAK,CAAC,sCAAA,CAAA,CAAwCI,QAAQ,CAAC;oBACtEC,KAAAA,EAAOb;AACb,iBAAA,CAAA;AACA,YAAA,CAAA;AAEA;;;;;;;AAOA,OACEc,wBAAuBX,UAAU,EAAA;gBAC/B,MAAM,EAAEY,MAAM,EAAE,GAAGZ,UAAAA;gBAEnB,OAAO;AAAEY,oBAAAA;AAAM,iBAAA;AACnB,YAAA;SACA,CAAA;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission.mjs","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;
|
|
1
|
+
{"version":3,"file":"permission.mjs","sources":["../../../server/services/permission.js"],"sourcesContent":["'use strict';\n\nconst PUBLIC_ROLE_FILTER = { role: { type: 'public' } };\n\nmodule.exports = ({ strapi }) => ({\n /**\n * Find permissions associated to a specific role ID\n *\n * @param {number} roleID\n *\n * @return {object[]}\n */\n async findRolePermissions(roleID) {\n return strapi.db.query('plugin::users-permissions.role').load({ id: roleID }, 'permissions');\n },\n\n /**\n * Find permissions for the public role\n *\n * @return {object[]}\n */\n async findPublicPermissions() {\n return strapi.db.query('plugin::users-permissions.permission').findMany({\n where: PUBLIC_ROLE_FILTER,\n });\n },\n\n /**\n * Transform a Users-Permissions' action into a content API one\n *\n * @param {object} permission\n * @param {string} permission.action\n *\n * @return {{ action: string }}\n */\n toContentAPIPermission(permission) {\n const { action } = permission;\n\n return { action };\n },\n});\n"],"names":["PUBLIC_ROLE_FILTER","role","type","permission","strapi","findRolePermissions","roleID","db","query","load","id","findPublicPermissions","findMany","where","toContentAPIPermission","action"],"mappings":";;;;;AAEA,IAAA,MAAMA,kBAAAA,GAAqB;QAAEC,IAAAA,EAAM;YAAEC,IAAAA,EAAM;AAAQ;AAAE,KAAA;AAErDC,IAAAA,UAAAA,GAAiB,CAAC,EAAEC,MAAM,EAAE,IAAM;AAClC;;;;;;OAOE,MAAMC,qBAAoBC,MAAM,EAAA;AAC9B,gBAAA,OAAOF,OAAOG,EAAE,CAACC,KAAK,CAAC,gCAAA,CAAA,CAAkCC,IAAI,CAAC;oBAAEC,EAAAA,EAAIJ;mBAAU,aAAA,CAAA;AAClF,YAAA,CAAA;AAEA;;;;AAIA,OACE,MAAMK,qBAAAA,CAAAA,GAAAA;AACJ,gBAAA,OAAOP,OAAOG,EAAE,CAACC,KAAK,CAAC,sCAAA,CAAA,CAAwCI,QAAQ,CAAC;oBACtEC,KAAAA,EAAOb;AACb,iBAAA,CAAA;AACA,YAAA,CAAA;AAEA;;;;;;;AAOA,OACEc,wBAAuBX,UAAU,EAAA;gBAC/B,MAAM,EAAEY,MAAM,EAAE,GAAGZ,UAAAA;gBAEnB,OAAO;AAAEY,oBAAAA;AAAM,iBAAA;AACnB,YAAA;SACA,CAAA;;;;;;"}
|
|
@@ -6,15 +6,23 @@ var require$$2 = require('url-join');
|
|
|
6
6
|
var require$$3 = require('jwk-to-pem');
|
|
7
7
|
var require$$4 = require('purest');
|
|
8
8
|
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
|
|
12
|
+
var require$$1__default = /*#__PURE__*/_interopDefault(require$$1);
|
|
13
|
+
var require$$2__default = /*#__PURE__*/_interopDefault(require$$2);
|
|
14
|
+
var require$$3__default = /*#__PURE__*/_interopDefault(require$$3);
|
|
15
|
+
var require$$4__default = /*#__PURE__*/_interopDefault(require$$4);
|
|
16
|
+
|
|
9
17
|
var providersRegistry;
|
|
10
18
|
var hasRequiredProvidersRegistry;
|
|
11
19
|
function requireProvidersRegistry() {
|
|
12
20
|
if (hasRequiredProvidersRegistry) return providersRegistry;
|
|
13
21
|
hasRequiredProvidersRegistry = 1;
|
|
14
|
-
const { strict: assert } = require$$
|
|
15
|
-
const jwt = require$$
|
|
16
|
-
const urljoin = require$$
|
|
17
|
-
const jwkToPem = require$$
|
|
22
|
+
const { strict: assert } = require$$0__default.default;
|
|
23
|
+
const jwt = require$$1__default.default;
|
|
24
|
+
const urljoin = require$$2__default.default;
|
|
25
|
+
const jwkToPem = require$$3__default.default;
|
|
18
26
|
const getCognitoPayload = async ({ idToken, jwksUrl, purest })=>{
|
|
19
27
|
const { header: { kid }, payload } = jwt.decode(idToken, {
|
|
20
28
|
complete: true
|
|
@@ -512,7 +520,7 @@ function requireProvidersRegistry() {
|
|
|
512
520
|
}
|
|
513
521
|
});
|
|
514
522
|
providersRegistry = ()=>{
|
|
515
|
-
const purest = require$$
|
|
523
|
+
const purest = require$$4__default.default;
|
|
516
524
|
const apiPrefix = strapi.config.get('api.rest.prefix');
|
|
517
525
|
const baseURL = urljoin(strapi.config.server.url, apiPrefix, 'auth');
|
|
518
526
|
const authProviders = initProviders({
|