@strapi/plugin-users-permissions 5.0.0-beta.1 → 5.0.0-beta.10

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.
Files changed (238) hide show
  1. package/admin/src/components/BoundRoute/index.jsx +2 -2
  2. package/admin/src/components/FormModal/Input/index.jsx +32 -31
  3. package/admin/src/components/FormModal/index.jsx +50 -66
  4. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +1 -1
  5. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +11 -20
  6. package/admin/src/components/Permissions/index.jsx +27 -35
  7. package/admin/src/components/Policies/index.jsx +5 -5
  8. package/admin/src/components/UsersPermissions/index.jsx +7 -7
  9. package/admin/src/pages/AdvancedSettings/index.jsx +13 -23
  10. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +113 -111
  11. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +23 -24
  12. package/admin/src/pages/EmailTemplates/index.jsx +14 -15
  13. package/admin/src/pages/Providers/index.jsx +13 -16
  14. package/admin/src/pages/Roles/pages/CreatePage.jsx +38 -35
  15. package/admin/src/pages/Roles/pages/EditPage.jsx +42 -35
  16. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +9 -9
  17. package/admin/src/pages/Roles/pages/ListPage/index.jsx +16 -21
  18. package/dist/_chunks/{ar-t5qTFaAD.js → ar-BguGUqwK.js} +1 -1
  19. package/dist/_chunks/ar-BguGUqwK.js.map +1 -0
  20. package/dist/_chunks/{ar-MvD8Ghac.mjs → ar-CK8BRRXB.mjs} +1 -1
  21. package/dist/_chunks/ar-CK8BRRXB.mjs.map +1 -0
  22. package/dist/_chunks/{cs-BMuXwxA1.mjs → cs-BVigMk0l.mjs} +1 -1
  23. package/dist/_chunks/cs-BVigMk0l.mjs.map +1 -0
  24. package/dist/_chunks/{cs-I8N4u-Sd.js → cs-BW8-K_GY.js} +1 -1
  25. package/dist/_chunks/cs-BW8-K_GY.js.map +1 -0
  26. package/dist/_chunks/{de-zs2qqc0W.mjs → de-BKUdRFI4.mjs} +1 -1
  27. package/dist/_chunks/de-BKUdRFI4.mjs.map +1 -0
  28. package/dist/_chunks/{de-YTjtq89K.js → de-owXpVluI.js} +1 -1
  29. package/dist/_chunks/de-owXpVluI.js.map +1 -0
  30. package/dist/_chunks/{dk-HctVBMsG.mjs → dk-BQiTK50l.mjs} +1 -1
  31. package/dist/_chunks/dk-BQiTK50l.mjs.map +1 -0
  32. package/dist/_chunks/{dk-TF-dWjzl.js → dk-LXAnbuBk.js} +1 -1
  33. package/dist/_chunks/dk-LXAnbuBk.js.map +1 -0
  34. package/dist/_chunks/{en-jvJ-d-Qq.mjs → en-DOHtPf-2.mjs} +1 -1
  35. package/dist/_chunks/en-DOHtPf-2.mjs.map +1 -0
  36. package/dist/_chunks/{en-TaNIVnDO.js → en-MHo5mcsU.js} +1 -1
  37. package/dist/_chunks/en-MHo5mcsU.js.map +1 -0
  38. package/dist/_chunks/{es-XBQsB8_9.js → es-BwLCLXAQ.js} +1 -1
  39. package/dist/_chunks/es-BwLCLXAQ.js.map +1 -0
  40. package/dist/_chunks/{es-9381tih_.mjs → es-DNgOVMjD.mjs} +1 -1
  41. package/dist/_chunks/es-DNgOVMjD.mjs.map +1 -0
  42. package/dist/_chunks/{fr-CMSc77If.mjs → fr-DkgRugiU.mjs} +1 -1
  43. package/dist/_chunks/fr-DkgRugiU.mjs.map +1 -0
  44. package/dist/_chunks/{fr-6cz3U-IF.js → fr-DkhpSjjm.js} +1 -1
  45. package/dist/_chunks/fr-DkhpSjjm.js.map +1 -0
  46. package/dist/_chunks/{id-RJ934rq-.js → id-BTemOeTZ.js} +1 -1
  47. package/dist/_chunks/id-BTemOeTZ.js.map +1 -0
  48. package/dist/_chunks/{id-SDuyIkZa.mjs → id-BdEsvnaF.mjs} +1 -1
  49. package/dist/_chunks/id-BdEsvnaF.mjs.map +1 -0
  50. package/dist/_chunks/{index-UxzhJuP2.js → index-Bmp8oEaL.js} +66 -78
  51. package/dist/_chunks/index-Bmp8oEaL.js.map +1 -0
  52. package/dist/_chunks/{index-PTS42_em.mjs → index-BoMRcQMw.mjs} +21 -21
  53. package/dist/_chunks/{index-PTS42_em.mjs.map → index-BoMRcQMw.mjs.map} +1 -1
  54. package/dist/_chunks/{index-oUZpvYqS.mjs → index-C3uAp27O.mjs} +113 -120
  55. package/dist/_chunks/index-C3uAp27O.mjs.map +1 -0
  56. package/dist/_chunks/{index-DtWla9tx.mjs → index-CgwV7-UQ.mjs} +16 -22
  57. package/dist/_chunks/index-CgwV7-UQ.mjs.map +1 -0
  58. package/dist/_chunks/{index-_UNneVIg.js → index-Ck-grCz9.js} +129 -162
  59. package/dist/_chunks/index-Ck-grCz9.js.map +1 -0
  60. package/dist/_chunks/{index-gw-9XoIT.js → index-CkV_Gx1w.js} +112 -119
  61. package/dist/_chunks/index-CkV_Gx1w.js.map +1 -0
  62. package/dist/_chunks/{index-46oU0LRy.js → index-CqRSlrYn.js} +16 -22
  63. package/dist/_chunks/index-CqRSlrYn.js.map +1 -0
  64. package/dist/_chunks/{index-JO4fO3Yj.js → index-D9CJMgdl.js} +21 -21
  65. package/dist/_chunks/{index-JO4fO3Yj.js.map → index-D9CJMgdl.js.map} +1 -1
  66. package/dist/_chunks/{index-G9pZniMC.mjs → index-DNNjHtHG.mjs} +66 -78
  67. package/dist/_chunks/index-DNNjHtHG.mjs.map +1 -0
  68. package/dist/_chunks/{index-Vg50EMBp.mjs → index-b5IzYPqT.mjs} +119 -151
  69. package/dist/_chunks/index-b5IzYPqT.mjs.map +1 -0
  70. package/dist/_chunks/index-jwAq-BX--Cqx0wYbj.js +10594 -0
  71. package/dist/_chunks/index-jwAq-BX--Cqx0wYbj.js.map +1 -0
  72. package/dist/_chunks/index-jwAq-BX--dMZbL-qM.mjs +10570 -0
  73. package/dist/_chunks/index-jwAq-BX--dMZbL-qM.mjs.map +1 -0
  74. package/dist/_chunks/{it-bvH7DgQo.mjs → it-B-rv0E24.mjs} +1 -1
  75. package/dist/_chunks/it-B-rv0E24.mjs.map +1 -0
  76. package/dist/_chunks/{it-YhZOlM2X.js → it-D1rH6V6_.js} +1 -1
  77. package/dist/_chunks/it-D1rH6V6_.js.map +1 -0
  78. package/dist/_chunks/{ja-o_-JPvQv.mjs → ja-C8K-VBPD.mjs} +1 -1
  79. package/dist/_chunks/ja-C8K-VBPD.mjs.map +1 -0
  80. package/dist/_chunks/{ja-xssHUXFv.js → ja-DqShgTMf.js} +1 -1
  81. package/dist/_chunks/ja-DqShgTMf.js.map +1 -0
  82. package/dist/_chunks/{ko-C3mHUSJa.js → ko-B9DGEPWH.js} +1 -1
  83. package/dist/_chunks/ko-B9DGEPWH.js.map +1 -0
  84. package/dist/_chunks/{ko-XJbPSez_.mjs → ko-Busb0wIY.mjs} +1 -1
  85. package/dist/_chunks/ko-Busb0wIY.mjs.map +1 -0
  86. package/dist/_chunks/{ms-II5Ea73J.mjs → ms-ByvsQjRt.mjs} +1 -1
  87. package/dist/_chunks/ms-ByvsQjRt.mjs.map +1 -0
  88. package/dist/_chunks/{ms-d0hfg65Z.js → ms-CPBU3LWf.js} +1 -1
  89. package/dist/_chunks/ms-CPBU3LWf.js.map +1 -0
  90. package/dist/_chunks/{nl-vEy6TN0K.mjs → nl-5qO8Rpcy.mjs} +1 -1
  91. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +1 -0
  92. package/dist/_chunks/{nl-TA7TfK_5.js → nl-CwNB6YoO.js} +1 -1
  93. package/dist/_chunks/nl-CwNB6YoO.js.map +1 -0
  94. package/dist/_chunks/{pl-2VowaFGt.mjs → pl-BdIzifBE.mjs} +1 -1
  95. package/dist/_chunks/pl-BdIzifBE.mjs.map +1 -0
  96. package/dist/_chunks/{pl-0pUL9hdA.js → pl-Do9UD69f.js} +1 -1
  97. package/dist/_chunks/pl-Do9UD69f.js.map +1 -0
  98. package/dist/_chunks/{pt-Rf9W51IO.mjs → pt-BIO24ioG.mjs} +1 -1
  99. package/dist/_chunks/pt-BIO24ioG.mjs.map +1 -0
  100. package/dist/_chunks/{pt-BR-WNOhafR4.js → pt-BR-D7dZhxuP.js} +1 -1
  101. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +1 -0
  102. package/dist/_chunks/{pt-BR-sS1Xp3Jt.mjs → pt-BR-f0p23AQZ.mjs} +1 -1
  103. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +1 -0
  104. package/dist/_chunks/{pt-guNR9Gax.js → pt-fdvyOnUp.js} +1 -1
  105. package/dist/_chunks/pt-fdvyOnUp.js.map +1 -0
  106. package/dist/_chunks/{ru-X3BMXDds.js → ru-C94rjPGA.js} +1 -1
  107. package/dist/_chunks/ru-C94rjPGA.js.map +1 -0
  108. package/dist/_chunks/{ru-qKHnd5or.mjs → ru-VWy-IB7K.mjs} +1 -1
  109. package/dist/_chunks/ru-VWy-IB7K.mjs.map +1 -0
  110. package/dist/_chunks/{sk-NWPw1oTN.js → sk-BABEhykl.js} +1 -1
  111. package/dist/_chunks/sk-BABEhykl.js.map +1 -0
  112. package/dist/_chunks/{sk-_Ryr-eTT.mjs → sk-B_LIcepm.mjs} +1 -1
  113. package/dist/_chunks/sk-B_LIcepm.mjs.map +1 -0
  114. package/dist/_chunks/{sv-BqzScFXS.mjs → sv-ABLKOokl.mjs} +1 -1
  115. package/dist/_chunks/sv-ABLKOokl.mjs.map +1 -0
  116. package/dist/_chunks/{sv-76NnbB__.js → sv-Be43LhA9.js} +1 -1
  117. package/dist/_chunks/sv-Be43LhA9.js.map +1 -0
  118. package/dist/_chunks/{th-WsknMEpq.mjs → th-DKyP7ueR.mjs} +1 -1
  119. package/dist/_chunks/th-DKyP7ueR.mjs.map +1 -0
  120. package/dist/_chunks/{th-cbppX21D.js → th-DgVhVLhL.js} +1 -1
  121. package/dist/_chunks/th-DgVhVLhL.js.map +1 -0
  122. package/dist/_chunks/{tr-6mm_Fmz7.js → tr-B_idhkEs.js} +1 -1
  123. package/dist/_chunks/tr-B_idhkEs.js.map +1 -0
  124. package/dist/_chunks/{tr-_DB1F1GW.mjs → tr-qa1Q5UjC.mjs} +1 -1
  125. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +1 -0
  126. package/dist/_chunks/{uk-yxMSQAwI.mjs → uk-BmRqbeQc.mjs} +1 -1
  127. package/dist/_chunks/uk-BmRqbeQc.mjs.map +1 -0
  128. package/dist/_chunks/{uk-sI2I1ogF.js → uk-LHOivnhP.js} +1 -1
  129. package/dist/_chunks/uk-LHOivnhP.js.map +1 -0
  130. package/dist/_chunks/{vi-A3zJxaiI.js → vi-CdVRdKDw.js} +1 -1
  131. package/dist/_chunks/vi-CdVRdKDw.js.map +1 -0
  132. package/dist/_chunks/{vi-xY0zCW3d.mjs → vi-HW-EdMea.mjs} +1 -1
  133. package/dist/_chunks/vi-HW-EdMea.mjs.map +1 -0
  134. package/dist/_chunks/{zh-OFeldzbX.mjs → zh-5hKkVPA4.mjs} +1 -1
  135. package/dist/_chunks/zh-5hKkVPA4.mjs.map +1 -0
  136. package/dist/_chunks/{zh-72SpmFXa.js → zh-Cuq8gMnF.js} +1 -1
  137. package/dist/_chunks/zh-Cuq8gMnF.js.map +1 -0
  138. package/dist/_chunks/{zh-Hans-E84cu4kP.mjs → zh-Hans-BHilK-yc.mjs} +1 -1
  139. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +1 -0
  140. package/dist/_chunks/{zh-Hans-ArWWtyP4.js → zh-Hans-GQDMKtY4.js} +1 -1
  141. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +1 -0
  142. package/dist/admin/index.js +1 -1
  143. package/dist/admin/index.mjs +1 -1
  144. package/package.json +16 -16
  145. package/server/bootstrap/index.js +3 -3
  146. package/server/config.js +29 -0
  147. package/server/controllers/auth.js +22 -4
  148. package/server/controllers/content-manager-user.js +4 -2
  149. package/server/services/user.js +21 -4
  150. package/server/services/users-permissions.js +3 -3
  151. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  152. package/dist/_chunks/EditViewPage-BJdNfzBZ-XIkFGBc4.mjs +0 -84380
  153. package/dist/_chunks/EditViewPage-BJdNfzBZ-XIkFGBc4.mjs.map +0 -1
  154. package/dist/_chunks/EditViewPage-BJdNfzBZ-eKwHxgPQ.js +0 -84408
  155. package/dist/_chunks/EditViewPage-BJdNfzBZ-eKwHxgPQ.js.map +0 -1
  156. package/dist/_chunks/Helmet-En-SEnNC.mjs +0 -1008
  157. package/dist/_chunks/Helmet-En-SEnNC.mjs.map +0 -1
  158. package/dist/_chunks/Helmet-d9JljxUo.js +0 -1010
  159. package/dist/_chunks/Helmet-d9JljxUo.js.map +0 -1
  160. package/dist/_chunks/ListViewPage-FE12IpwT-Wq63ge4-.js +0 -1595
  161. package/dist/_chunks/ListViewPage-FE12IpwT-Wq63ge4-.js.map +0 -1
  162. package/dist/_chunks/ListViewPage-FE12IpwT-qmEuoG2g.mjs +0 -1571
  163. package/dist/_chunks/ListViewPage-FE12IpwT-qmEuoG2g.mjs.map +0 -1
  164. package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-8gQO_Y5x.mjs +0 -33
  165. package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-8gQO_Y5x.mjs.map +0 -1
  166. package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-ARD7iQQF.js +0 -33
  167. package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-ARD7iQQF.js.map +0 -1
  168. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  169. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  170. package/dist/_chunks/constants-D6NLEhwu-4IL8biHd.js +0 -209
  171. package/dist/_chunks/constants-D6NLEhwu-4IL8biHd.js.map +0 -1
  172. package/dist/_chunks/constants-D6NLEhwu-gRKBHArd.mjs +0 -190
  173. package/dist/_chunks/constants-D6NLEhwu-gRKBHArd.mjs.map +0 -1
  174. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  175. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  176. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  177. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  178. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  179. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  180. package/dist/_chunks/en-TaNIVnDO.js.map +0 -1
  181. package/dist/_chunks/en-jvJ-d-Qq.mjs.map +0 -1
  182. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  183. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  184. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  185. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  186. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  187. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  188. package/dist/_chunks/index-1NFAbkxM-Km1zKLTh.mjs +0 -16568
  189. package/dist/_chunks/index-1NFAbkxM-Km1zKLTh.mjs.map +0 -1
  190. package/dist/_chunks/index-1NFAbkxM-c8HdvwSA.js +0 -16593
  191. package/dist/_chunks/index-1NFAbkxM-c8HdvwSA.js.map +0 -1
  192. package/dist/_chunks/index-46oU0LRy.js.map +0 -1
  193. package/dist/_chunks/index-DtWla9tx.mjs.map +0 -1
  194. package/dist/_chunks/index-G9pZniMC.mjs.map +0 -1
  195. package/dist/_chunks/index-UxzhJuP2.js.map +0 -1
  196. package/dist/_chunks/index-Vg50EMBp.mjs.map +0 -1
  197. package/dist/_chunks/index-_UNneVIg.js.map +0 -1
  198. package/dist/_chunks/index-gw-9XoIT.js.map +0 -1
  199. package/dist/_chunks/index-oUZpvYqS.mjs.map +0 -1
  200. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  201. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  202. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  203. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  204. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  205. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  206. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  207. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  208. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  209. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  210. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  211. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  212. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  213. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  214. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  215. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  216. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  217. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  218. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  219. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  220. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  221. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  222. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  223. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  224. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  225. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  226. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  227. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  228. package/dist/_chunks/useSyncRbac-LNOzRXJ5-5S0qhFuZ.js +0 -63
  229. package/dist/_chunks/useSyncRbac-LNOzRXJ5-5S0qhFuZ.js.map +0 -1
  230. package/dist/_chunks/useSyncRbac-LNOzRXJ5-PZzFwA1X.mjs +0 -45
  231. package/dist/_chunks/useSyncRbac-LNOzRXJ5-PZzFwA1X.mjs.map +0 -1
  232. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  233. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  234. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  235. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  236. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  237. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  238. package/dist/style.css +0 -84
@@ -59,4 +59,4 @@ const it = {
59
59
  export {
60
60
  it as default
61
61
  };
62
- //# sourceMappingURL=it-bvH7DgQo.mjs.map
62
+ //# sourceMappingURL=it-B-rv0E24.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it-B-rv0E24.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -59,4 +59,4 @@ const it = {
59
59
  "popUpWarning.warning.cancel": "Sei sicuro di voler annullare le tue modifiche?"
60
60
  };
61
61
  exports.default = it;
62
- //# sourceMappingURL=it-YhZOlM2X.js.map
62
+ //# sourceMappingURL=it-D1rH6V6_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it-D1rH6V6_.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,4 +45,4 @@ const ja = {
45
45
  export {
46
46
  ja as default
47
47
  };
48
- //# sourceMappingURL=ja-o_-JPvQv.mjs.map
48
+ //# sourceMappingURL=ja-C8K-VBPD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja-C8K-VBPD.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,4 +45,4 @@ const ja = {
45
45
  "plugin.name": "ロールと権限"
46
46
  };
47
47
  exports.default = ja;
48
- //# sourceMappingURL=ja-xssHUXFv.js.map
48
+ //# sourceMappingURL=ja-DqShgTMf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja-DqShgTMf.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const ko = {
83
83
  "popUpWarning.warning.cancel": "수정 사항을 취소하시겠습니까?"
84
84
  };
85
85
  exports.default = ko;
86
- //# sourceMappingURL=ko-C3mHUSJa.js.map
86
+ //# sourceMappingURL=ko-B9DGEPWH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ko-B9DGEPWH.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const ko = {
83
83
  export {
84
84
  ko as default
85
85
  };
86
- //# sourceMappingURL=ko-XJbPSez_.mjs.map
86
+ //# sourceMappingURL=ko-Busb0wIY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ko-Busb0wIY.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -46,4 +46,4 @@ const ms = {
46
46
  export {
47
47
  ms as default
48
48
  };
49
- //# sourceMappingURL=ms-II5Ea73J.mjs.map
49
+ //# sourceMappingURL=ms-ByvsQjRt.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ms-ByvsQjRt.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -46,4 +46,4 @@ const ms = {
46
46
  "plugin.description.short": "Lindungi API anda dengan proses pengesahan penuh berdasarkan JWT"
47
47
  };
48
48
  exports.default = ms;
49
- //# sourceMappingURL=ms-d0hfg65Z.js.map
49
+ //# sourceMappingURL=ms-CPBU3LWf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ms-CPBU3LWf.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,4 +45,4 @@ const nl = {
45
45
  export {
46
46
  nl as default
47
47
  };
48
- //# sourceMappingURL=nl-vEy6TN0K.mjs.map
48
+ //# sourceMappingURL=nl-5qO8Rpcy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-5qO8Rpcy.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,4 +45,4 @@ const nl = {
45
45
  "plugin.name": "Rollen & Permissies"
46
46
  };
47
47
  exports.default = nl;
48
- //# sourceMappingURL=nl-TA7TfK_5.js.map
48
+ //# sourceMappingURL=nl-CwNB6YoO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-CwNB6YoO.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const pl = {
83
83
  export {
84
84
  pl as default
85
85
  };
86
- //# sourceMappingURL=pl-2VowaFGt.mjs.map
86
+ //# sourceMappingURL=pl-BdIzifBE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pl-BdIzifBE.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const pl = {
83
83
  "popUpWarning.warning.cancel": "Czy jesteś pewny, że chcesz anulować zmiany?"
84
84
  };
85
85
  exports.default = pl;
86
- //# sourceMappingURL=pl-0pUL9hdA.js.map
86
+ //# sourceMappingURL=pl-Do9UD69f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pl-Do9UD69f.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,4 +45,4 @@ const pt = {
45
45
  export {
46
46
  pt as default
47
47
  };
48
- //# sourceMappingURL=pt-Rf9W51IO.mjs.map
48
+ //# sourceMappingURL=pt-BIO24ioG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-BIO24ioG.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -41,4 +41,4 @@ const ptBR = {
41
41
  "plugin.name": "Papéis e permissões"
42
42
  };
43
43
  exports.default = ptBR;
44
- //# sourceMappingURL=pt-BR-WNOhafR4.js.map
44
+ //# sourceMappingURL=pt-BR-D7dZhxuP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-BR-D7dZhxuP.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -41,4 +41,4 @@ const ptBR = {
41
41
  export {
42
42
  ptBR as default
43
43
  };
44
- //# sourceMappingURL=pt-BR-sS1Xp3Jt.mjs.map
44
+ //# sourceMappingURL=pt-BR-f0p23AQZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-BR-f0p23AQZ.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,4 +45,4 @@ const pt = {
45
45
  "plugin.name": "Grupos & Permissões"
46
46
  };
47
47
  exports.default = pt;
48
- //# sourceMappingURL=pt-guNR9Gax.js.map
48
+ //# sourceMappingURL=pt-fdvyOnUp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt-fdvyOnUp.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const ru = {
83
83
  "popUpWarning.warning.cancel": "Вы уверены, что хотите отменить свои изменения?"
84
84
  };
85
85
  exports.default = ru;
86
- //# sourceMappingURL=ru-X3BMXDds.js.map
86
+ //# sourceMappingURL=ru-C94rjPGA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru-C94rjPGA.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const ru = {
83
83
  export {
84
84
  ru as default
85
85
  };
86
- //# sourceMappingURL=ru-qKHnd5or.mjs.map
86
+ //# sourceMappingURL=ru-VWy-IB7K.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru-VWy-IB7K.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -47,4 +47,4 @@ const sk = {
47
47
  "plugin.name": "Roly a oprávnenia"
48
48
  };
49
49
  exports.default = sk;
50
- //# sourceMappingURL=sk-NWPw1oTN.js.map
50
+ //# sourceMappingURL=sk-BABEhykl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sk-BABEhykl.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -47,4 +47,4 @@ const sk = {
47
47
  export {
48
48
  sk as default
49
49
  };
50
- //# sourceMappingURL=sk-_Ryr-eTT.mjs.map
50
+ //# sourceMappingURL=sk-B_LIcepm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sk-B_LIcepm.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const sv = {
83
83
  export {
84
84
  sv as default
85
85
  };
86
- //# sourceMappingURL=sv-BqzScFXS.mjs.map
86
+ //# sourceMappingURL=sv-ABLKOokl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sv-ABLKOokl.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const sv = {
83
83
  "popUpWarning.warning.cancel": "Är du säker att du vill avbryta dina ändringar?"
84
84
  };
85
85
  exports.default = sv;
86
- //# sourceMappingURL=sv-76NnbB__.js.map
86
+ //# sourceMappingURL=sv-Be43LhA9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sv-Be43LhA9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -57,4 +57,4 @@ const th = {
57
57
  export {
58
58
  th as default
59
59
  };
60
- //# sourceMappingURL=th-WsknMEpq.mjs.map
60
+ //# sourceMappingURL=th-DKyP7ueR.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"th-DKyP7ueR.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -57,4 +57,4 @@ const th = {
57
57
  "popUpWarning.warning.cancel": "คุณแน่ใจว่าต้องการยกเลิกการแก้ไขของคุณหรือไม่?"
58
58
  };
59
59
  exports.default = th;
60
- //# sourceMappingURL=th-cbppX21D.js.map
60
+ //# sourceMappingURL=th-DgVhVLhL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"th-DgVhVLhL.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -82,4 +82,4 @@ const tr = {
82
82
  "popUpWarning.warning.cancel": "Değişiklikleri iptal etmek istediğinden emin misin?"
83
83
  };
84
84
  exports.default = tr;
85
- //# sourceMappingURL=tr-6mm_Fmz7.js.map
85
+ //# sourceMappingURL=tr-B_idhkEs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr-B_idhkEs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -82,4 +82,4 @@ const tr = {
82
82
  export {
83
83
  tr as default
84
84
  };
85
- //# sourceMappingURL=tr-_DB1F1GW.mjs.map
85
+ //# sourceMappingURL=tr-qa1Q5UjC.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr-qa1Q5UjC.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -46,4 +46,4 @@ const uk = {
46
46
  export {
47
47
  uk as default
48
48
  };
49
- //# sourceMappingURL=uk-yxMSQAwI.mjs.map
49
+ //# sourceMappingURL=uk-BmRqbeQc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk-BmRqbeQc.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -46,4 +46,4 @@ const uk = {
46
46
  "plugin.description.short": "Захистіть API за допомогою процесу аутентифікації на основі JWT"
47
47
  };
48
48
  exports.default = uk;
49
- //# sourceMappingURL=uk-sI2I1ogF.js.map
49
+ //# sourceMappingURL=uk-LHOivnhP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uk-LHOivnhP.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -47,4 +47,4 @@ const vi = {
47
47
  "plugin.name": "Vai trò và Quyền"
48
48
  };
49
49
  exports.default = vi;
50
- //# sourceMappingURL=vi-A3zJxaiI.js.map
50
+ //# sourceMappingURL=vi-CdVRdKDw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vi-CdVRdKDw.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -47,4 +47,4 @@ const vi = {
47
47
  export {
48
48
  vi as default
49
49
  };
50
- //# sourceMappingURL=vi-xY0zCW3d.mjs.map
50
+ //# sourceMappingURL=vi-HW-EdMea.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vi-HW-EdMea.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const zh = {
83
83
  export {
84
84
  zh as default
85
85
  };
86
- //# sourceMappingURL=zh-OFeldzbX.mjs.map
86
+ //# sourceMappingURL=zh-5hKkVPA4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-5hKkVPA4.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const zh = {
83
83
  "popUpWarning.warning.cancel": "您確定要取消變更嗎?"
84
84
  };
85
85
  exports.default = zh;
86
- //# sourceMappingURL=zh-72SpmFXa.js.map
86
+ //# sourceMappingURL=zh-Cuq8gMnF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-Cuq8gMnF.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const zhHans = {
83
83
  export {
84
84
  zhHans as default
85
85
  };
86
- //# sourceMappingURL=zh-Hans-E84cu4kP.mjs.map
86
+ //# sourceMappingURL=zh-Hans-BHilK-yc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-Hans-BHilK-yc.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -83,4 +83,4 @@ const zhHans = {
83
83
  "popUpWarning.warning.cancel": "你确定你要取消你的修改?"
84
84
  };
85
85
  exports.default = zhHans;
86
- //# sourceMappingURL=zh-Hans-ArWWtyP4.js.map
86
+ //# sourceMappingURL=zh-Hans-GQDMKtY4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh-Hans-GQDMKtY4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-JO4fO3Yj.js");
2
+ const index = require("../_chunks/index-D9CJMgdl.js");
3
3
  module.exports = index.index;
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { i } from "../_chunks/index-PTS42_em.mjs";
1
+ import { i } from "../_chunks/index-BoMRcQMw.mjs";
2
2
  export {
3
3
  i as default
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/plugin-users-permissions",
3
- "version": "5.0.0-beta.1",
3
+ "version": "5.0.0-beta.10",
4
4
  "description": "Protect your API with a full-authentication process based on JWT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -46,17 +46,17 @@
46
46
  "watch": "pack-up watch"
47
47
  },
48
48
  "dependencies": {
49
- "@strapi/design-system": "1.16.0",
50
- "@strapi/icons": "1.16.0",
51
- "@strapi/utils": "5.0.0-beta.1",
49
+ "@strapi/design-system": "2.0.0-beta.6",
50
+ "@strapi/icons": "2.0.0-beta.6",
51
+ "@strapi/utils": "5.0.0-beta.10",
52
52
  "bcryptjs": "2.4.3",
53
53
  "formik": "2.4.5",
54
54
  "grant-koa": "5.4.8",
55
55
  "immer": "9.0.21",
56
56
  "jsonwebtoken": "9.0.0",
57
57
  "jwk-to-pem": "2.0.5",
58
- "koa": "2.13.4",
59
- "koa2-ratelimit": "^1.1.2",
58
+ "koa": "2.15.2",
59
+ "koa2-ratelimit": "^1.1.3",
60
60
  "lodash": "4.17.21",
61
61
  "prop-types": "^15.8.1",
62
62
  "purest": "4.0.2",
@@ -67,23 +67,23 @@
67
67
  "yup": "0.32.9"
68
68
  },
69
69
  "devDependencies": {
70
- "@strapi/pack-up": "5.0.0-beta.1",
71
- "@strapi/strapi": "5.0.0-beta.1",
72
- "@testing-library/dom": "9.2.0",
73
- "@testing-library/react": "14.0.0",
74
- "@testing-library/user-event": "14.4.3",
70
+ "@strapi/pack-up": "5.0.0",
71
+ "@strapi/strapi": "5.0.0-beta.10",
72
+ "@testing-library/dom": "10.1.0",
73
+ "@testing-library/react": "15.0.7",
74
+ "@testing-library/user-event": "14.5.2",
75
75
  "msw": "1.3.0",
76
- "react": "^18.2.0",
77
- "react-dom": "^18.2.0",
76
+ "react": "18.3.1",
77
+ "react-dom": "18.3.1",
78
78
  "react-router-dom": "6.22.3",
79
- "styled-components": "5.3.11"
79
+ "styled-components": "6.1.8"
80
80
  },
81
81
  "peerDependencies": {
82
82
  "@strapi/strapi": "^5.0.0 || ^5.0.0-beta || ^5.0.0-alpha || ^5.0.0-rc",
83
83
  "react": "^17.0.0 || ^18.0.0",
84
84
  "react-dom": "^17.0.0 || ^18.0.0",
85
85
  "react-router-dom": "^6.0.0",
86
- "styled-components": "^5.2.1"
86
+ "styled-components": "^6.0.0"
87
87
  },
88
88
  "engines": {
89
89
  "node": ">=18.0.0 <=20.x.x",
@@ -96,5 +96,5 @@
96
96
  "required": true,
97
97
  "kind": "plugin"
98
98
  },
99
- "gitHead": "ae773621dfcbc67c49dc6fa52ac41ea5de676ecb"
99
+ "gitHead": "d4542f0dccfa2eecb55026dbd795042e7d0004ba"
100
100
  }
@@ -103,9 +103,9 @@ module.exports = async ({ strapi }) => {
103
103
  await initEmails(pluginStore);
104
104
  await initAdvancedOptions(pluginStore);
105
105
 
106
- await strapi.admin.services.permission.actionProvider.registerMany(
107
- usersPermissionsActions.actions
108
- );
106
+ await strapi
107
+ .service('admin::permission')
108
+ .actionProvider.registerMany(usersPermissionsActions.actions);
109
109
 
110
110
  await getService('users-permissions').initialize();
111
111
 
package/server/config.js CHANGED
@@ -18,6 +18,35 @@ module.exports = {
18
18
  },
19
19
  },
20
20
  },
21
+ callback: {
22
+ validate(callback, provider) {
23
+ let uCallback;
24
+ let uProviderCallback;
25
+
26
+ try {
27
+ uCallback = new URL(callback);
28
+ uProviderCallback = new URL(provider.callback);
29
+ } catch {
30
+ throw new Error('The callback is not a valid URL');
31
+ }
32
+
33
+ // Make sure the different origin matches
34
+ if (uCallback.origin !== uProviderCallback.origin) {
35
+ throw new Error(
36
+ `Forbidden callback provided: origins don't match. Please verify your config.`
37
+ );
38
+ }
39
+
40
+ // Make sure the different pathname matches
41
+ if (uCallback.pathname !== uProviderCallback.pathname) {
42
+ throw new Error(
43
+ `Forbidden callback provided: pathname don't match. Please verify your config.`
44
+ );
45
+ }
46
+
47
+ // NOTE: We're not checking the search parameters on purpose to allow passing different states
48
+ },
49
+ },
21
50
  }),
22
51
  validator() {},
23
52
  };
@@ -196,10 +196,28 @@ module.exports = {
196
196
  }
197
197
 
198
198
  // Ability to pass OAuth callback dynamically
199
- grantConfig[provider].callback =
200
- _.get(ctx, 'query.callback') ||
201
- _.get(ctx, 'session.grant.dynamic.callback') ||
202
- grantConfig[provider].callback;
199
+ const queryCustomCallback = _.get(ctx, 'query.callback');
200
+ const dynamicSessionCallback = _.get(ctx, 'session.grant.dynamic.callback');
201
+
202
+ const customCallback = queryCustomCallback ?? dynamicSessionCallback;
203
+
204
+ // The custom callback is validated to make sure it's not redirecting to an unwanted actor.
205
+ if (customCallback !== undefined) {
206
+ try {
207
+ // We're extracting the callback validator from the plugin config since it can be user-customized
208
+ const { validate: validateCallback } = strapi
209
+ .plugin('users-permissions')
210
+ .config('callback');
211
+
212
+ await validateCallback(customCallback, grantConfig[provider]);
213
+
214
+ grantConfig[provider].callback = customCallback;
215
+ } catch (e) {
216
+ throw new ValidationError('Invalid callback URL provided', { callback: customCallback });
217
+ }
218
+ }
219
+
220
+ // Build a valid redirect URI for the current provider
203
221
  grantConfig[provider].redirect_uri = getService('providers').buildRedirectUri(provider);
204
222
 
205
223
  return grant(grantConfig)(ctx, next);
@@ -25,7 +25,9 @@ const findEntityAndCheckPermissions = async (ability, action, model, id) => {
25
25
  throw new NotFoundError();
26
26
  }
27
27
 
28
- const pm = strapi.admin.services.permission.createPermissionsManager({ ability, action, model });
28
+ const pm = strapi
29
+ .service('admin::permission')
30
+ .createPermissionsManager({ ability, action, model });
29
31
 
30
32
  if (pm.ability.cannot(pm.action, pm.toSubject(doc))) {
31
33
  throw new ForbiddenError();
@@ -47,7 +49,7 @@ module.exports = {
47
49
 
48
50
  const { email, username } = body;
49
51
 
50
- const pm = strapi.admin.services.permission.createPermissionsManager({
52
+ const pm = strapi.service('admin::permission').createPermissionsManager({
51
53
  ability: userAbility,
52
54
  action: ACTIONS.create,
53
55
  model: userModel,
@@ -11,6 +11,7 @@ const bcrypt = require('bcryptjs');
11
11
  const urlJoin = require('url-join');
12
12
 
13
13
  const { sanitize } = require('@strapi/utils');
14
+ const { toNumber, getOr } = require('lodash/fp');
14
15
  const { getService } = require('../utils');
15
16
 
16
17
  const USER_MODEL_UID = 'plugin::users-permissions.user';
@@ -27,10 +28,26 @@ module.exports = ({ strapi }) => ({
27
28
  },
28
29
 
29
30
  /**
30
- * Promise to search count users
31
+ * Hashes password fields in the provided values object if they are present.
32
+ * It checks each key in the values object against the model's attributes and
33
+ * hashes it if the attribute type is 'password',
31
34
  *
32
- * @return {Promise}
35
+ * @param {object} values - The object containing the fields to be hashed.
36
+ * @return {object} The values object with hashed password fields if they were present.
33
37
  */
38
+ async ensureHashedPasswords(values) {
39
+ const attributes = strapi.getModel(USER_MODEL_UID).attributes;
40
+
41
+ for (const key in values) {
42
+ if (attributes[key] && attributes[key].type === 'password') {
43
+ // Check if a custom encryption.rounds has been set on the password attribute
44
+ const rounds = toNumber(getOr(10, 'encryption.rounds', attributes[key]));
45
+ values[key] = await bcrypt.hash(values[key], rounds);
46
+ }
47
+ }
48
+
49
+ return values;
50
+ },
34
51
 
35
52
  /**
36
53
  * Promise to add a/an user.
@@ -38,7 +55,7 @@ module.exports = ({ strapi }) => ({
38
55
  */
39
56
  async add(values) {
40
57
  return strapi.db.query(USER_MODEL_UID).create({
41
- data: values,
58
+ data: await this.ensureHashedPasswords(values),
42
59
  populate: ['role'],
43
60
  });
44
61
  },
@@ -52,7 +69,7 @@ module.exports = ({ strapi }) => ({
52
69
  async edit(userId, params = {}) {
53
70
  return strapi.db.query(USER_MODEL_UID).update({
54
71
  where: { id: userId },
55
- data: params,
72
+ data: await this.ensureHashedPasswords(params),
56
73
  populate: ['role'],
57
74
  });
58
75
  },