@strapi/plugin-users-permissions 0.0.0-experimental.62ce06180fe9a772eaeb3d43d238b26644f39f7c → 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282

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 (772) hide show
  1. package/.eslintrc.cjs +29 -0
  2. package/LICENSE +18 -3
  3. package/admin/src/components/BoundRoute/index.jsx +1 -1
  4. package/admin/src/components/FormModal/Input/index.jsx +1 -1
  5. package/admin/src/components/FormModal/index.jsx +8 -2
  6. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +3 -2
  7. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +10 -3
  8. package/admin/src/components/Policies/index.jsx +4 -1
  9. package/admin/src/components/UsersPermissions/index.jsx +10 -1
  10. package/admin/src/index.js +2 -2
  11. package/admin/src/pages/AdvancedSettings/index.jsx +9 -3
  12. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +8 -2
  13. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +22 -17
  14. package/admin/src/pages/Providers/index.jsx +75 -77
  15. package/admin/src/pages/Providers/utils/forms.js +15 -3
  16. package/admin/src/pages/Roles/index.jsx +1 -1
  17. package/admin/src/pages/Roles/pages/CreatePage.jsx +26 -8
  18. package/admin/src/pages/Roles/pages/EditPage.jsx +13 -7
  19. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +9 -8
  20. package/admin/src/pages/Roles/pages/ListPage/index.jsx +93 -96
  21. package/admin/src/pluginId.js +2 -2
  22. package/admin/src/translations/cs.json +42 -5
  23. package/admin/src/translations/de.json +27 -2
  24. package/admin/src/translations/en.json +1 -0
  25. package/admin/src/translations/ja.json +46 -7
  26. package/admin/src/translations/nl.json +40 -1
  27. package/admin/src/translations/pl.json +2 -1
  28. package/admin/src/translations/sk.json +41 -4
  29. package/admin/src/translations/uk.json +41 -4
  30. package/admin/src/utils/formatPluginName.js +1 -1
  31. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  32. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  33. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  34. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  35. package/dist/admin/components/BoundRoute/index.js +104 -0
  36. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  37. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  38. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  39. package/dist/admin/components/FormModal/Input/index.js +127 -0
  40. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  41. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  42. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  43. package/dist/admin/components/FormModal/index.js +114 -0
  44. package/dist/admin/components/FormModal/index.js.map +1 -0
  45. package/dist/admin/components/FormModal/index.mjs +108 -0
  46. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  47. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  48. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  49. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  50. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  51. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +163 -0
  52. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  53. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +156 -0
  54. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  55. package/dist/admin/components/Permissions/PermissionRow/index.js +55 -0
  56. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  57. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  58. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  59. package/dist/admin/components/Permissions/index.js +52 -0
  60. package/dist/admin/components/Permissions/index.js.map +1 -0
  61. package/dist/admin/components/Permissions/index.mjs +50 -0
  62. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  63. package/dist/admin/components/Permissions/init.js +15 -0
  64. package/dist/admin/components/Permissions/init.js.map +1 -0
  65. package/dist/admin/components/Permissions/init.mjs +13 -0
  66. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  67. package/dist/admin/components/Permissions/reducer.js +34 -0
  68. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  69. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  70. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  71. package/dist/admin/components/Policies/index.js +74 -0
  72. package/dist/admin/components/Policies/index.js.map +1 -0
  73. package/dist/admin/components/Policies/index.mjs +66 -0
  74. package/dist/admin/components/Policies/index.mjs.map +1 -0
  75. package/dist/admin/components/UsersPermissions/index.js +120 -0
  76. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  77. package/dist/admin/components/UsersPermissions/index.mjs +114 -0
  78. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  79. package/dist/admin/components/UsersPermissions/init.js +13 -0
  80. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  81. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  82. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  83. package/dist/admin/components/UsersPermissions/reducer.js +79 -0
  84. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  85. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  86. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  87. package/dist/admin/constants.js +81 -0
  88. package/dist/admin/constants.js.map +1 -0
  89. package/dist/admin/constants.mjs +79 -0
  90. package/dist/admin/constants.mjs.map +1 -0
  91. package/dist/admin/contexts/UsersPermissionsContext/index.js +27 -0
  92. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  93. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  94. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  95. package/dist/admin/index.js +124 -3
  96. package/dist/admin/index.js.map +1 -1
  97. package/dist/admin/index.mjs +119 -3
  98. package/dist/admin/index.mjs.map +1 -1
  99. package/dist/admin/package.json.js +9 -0
  100. package/dist/admin/package.json.js.map +1 -0
  101. package/dist/admin/package.json.mjs +6 -0
  102. package/dist/admin/package.json.mjs.map +1 -0
  103. package/dist/admin/pages/AdvancedSettings/index.js +195 -0
  104. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  105. package/dist/admin/pages/AdvancedSettings/index.mjs +192 -0
  106. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  107. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  108. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  109. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  110. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  111. package/dist/admin/pages/AdvancedSettings/utils/schema.js +41 -0
  112. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  113. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  114. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  115. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +176 -0
  116. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  117. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +170 -0
  118. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  119. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +149 -0
  120. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  121. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  122. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  123. package/dist/admin/pages/EmailTemplates/index.js +158 -0
  124. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  125. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  126. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  127. package/dist/admin/pages/EmailTemplates/utils/schema.js +51 -0
  128. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  129. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  130. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  131. package/dist/admin/pages/Providers/index.js +278 -0
  132. package/dist/admin/pages/Providers/index.js.map +1 -0
  133. package/dist/admin/pages/Providers/index.mjs +250 -0
  134. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  135. package/dist/admin/pages/Providers/utils/forms.js +282 -0
  136. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  137. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  138. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  139. package/dist/admin/pages/Roles/constants.js +32 -0
  140. package/dist/admin/pages/Roles/constants.js.map +1 -0
  141. package/dist/admin/pages/Roles/constants.mjs +10 -0
  142. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  143. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  144. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  145. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  146. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  147. package/dist/admin/pages/Roles/index.js +35 -0
  148. package/dist/admin/pages/Roles/index.js.map +1 -0
  149. package/dist/admin/pages/Roles/index.mjs +33 -0
  150. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  151. package/dist/admin/pages/Roles/pages/CreatePage.js +240 -0
  152. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  153. package/dist/admin/pages/Roles/pages/CreatePage.mjs +217 -0
  154. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  155. package/dist/admin/pages/Roles/pages/EditPage.js +241 -0
  156. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  157. package/dist/admin/pages/Roles/pages/EditPage.mjs +218 -0
  158. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  159. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +129 -0
  160. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  161. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  162. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  163. package/dist/admin/pages/Roles/pages/ListPage/index.js +234 -0
  164. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  165. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +231 -0
  166. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  167. package/dist/admin/pluginId.js +8 -0
  168. package/dist/admin/pluginId.js.map +1 -0
  169. package/dist/admin/pluginId.mjs +6 -0
  170. package/dist/admin/pluginId.mjs.map +1 -0
  171. package/dist/admin/translations/ar.json.js +45 -0
  172. package/dist/admin/translations/ar.json.js.map +1 -0
  173. package/dist/admin/translations/ar.json.mjs +43 -0
  174. package/dist/admin/translations/ar.json.mjs.map +1 -0
  175. package/dist/admin/translations/cs.json.js +88 -0
  176. package/dist/admin/translations/cs.json.js.map +1 -0
  177. package/dist/admin/translations/cs.json.mjs +86 -0
  178. package/dist/admin/translations/cs.json.mjs.map +1 -0
  179. package/dist/admin/translations/da.json.js +87 -0
  180. package/dist/admin/translations/da.json.js.map +1 -0
  181. package/dist/admin/translations/da.json.mjs +85 -0
  182. package/dist/admin/translations/da.json.mjs.map +1 -0
  183. package/dist/admin/translations/de.json.js +88 -0
  184. package/dist/admin/translations/de.json.js.map +1 -0
  185. package/dist/admin/translations/de.json.mjs +86 -0
  186. package/dist/admin/translations/de.json.mjs.map +1 -0
  187. package/dist/admin/translations/en.json.js +88 -0
  188. package/dist/admin/translations/en.json.js.map +1 -0
  189. package/dist/admin/translations/en.json.mjs +86 -0
  190. package/dist/admin/translations/en.json.mjs.map +1 -0
  191. package/dist/admin/translations/es.json.js +87 -0
  192. package/dist/admin/translations/es.json.js.map +1 -0
  193. package/dist/admin/translations/es.json.mjs +85 -0
  194. package/dist/admin/translations/es.json.mjs.map +1 -0
  195. package/dist/admin/translations/fr.json.js +51 -0
  196. package/dist/admin/translations/fr.json.js.map +1 -0
  197. package/dist/admin/translations/fr.json.mjs +49 -0
  198. package/dist/admin/translations/fr.json.mjs.map +1 -0
  199. package/dist/admin/translations/id.json.js +63 -0
  200. package/dist/admin/translations/id.json.js.map +1 -0
  201. package/dist/admin/translations/id.json.mjs +61 -0
  202. package/dist/admin/translations/id.json.mjs.map +1 -0
  203. package/dist/admin/translations/it.json.js +63 -0
  204. package/dist/admin/translations/it.json.js.map +1 -0
  205. package/dist/admin/translations/it.json.mjs +61 -0
  206. package/dist/admin/translations/it.json.mjs.map +1 -0
  207. package/dist/admin/translations/ja.json.js +88 -0
  208. package/dist/admin/translations/ja.json.js.map +1 -0
  209. package/dist/admin/translations/ja.json.mjs +86 -0
  210. package/dist/admin/translations/ja.json.mjs.map +1 -0
  211. package/dist/admin/translations/ko.json.js +87 -0
  212. package/dist/admin/translations/ko.json.js.map +1 -0
  213. package/dist/admin/translations/ko.json.mjs +85 -0
  214. package/dist/admin/translations/ko.json.mjs.map +1 -0
  215. package/dist/admin/translations/ms.json.js +50 -0
  216. package/dist/admin/translations/ms.json.js.map +1 -0
  217. package/dist/admin/translations/ms.json.mjs +48 -0
  218. package/dist/admin/translations/ms.json.mjs.map +1 -0
  219. package/dist/admin/translations/nl.json.js +88 -0
  220. package/dist/admin/translations/nl.json.js.map +1 -0
  221. package/dist/admin/translations/nl.json.mjs +86 -0
  222. package/dist/admin/translations/nl.json.mjs.map +1 -0
  223. package/dist/admin/translations/pl.json.js +88 -0
  224. package/dist/admin/translations/pl.json.js.map +1 -0
  225. package/dist/admin/translations/pl.json.mjs +86 -0
  226. package/dist/admin/translations/pl.json.mjs.map +1 -0
  227. package/dist/admin/translations/pt-BR.json.js +45 -0
  228. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  229. package/dist/admin/translations/pt-BR.json.mjs +43 -0
  230. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  231. package/dist/admin/translations/pt.json.js +49 -0
  232. package/dist/admin/translations/pt.json.js.map +1 -0
  233. package/dist/admin/translations/pt.json.mjs +47 -0
  234. package/dist/admin/translations/pt.json.mjs.map +1 -0
  235. package/dist/admin/translations/ru.json.js +87 -0
  236. package/dist/admin/translations/ru.json.js.map +1 -0
  237. package/dist/admin/translations/ru.json.mjs +85 -0
  238. package/dist/admin/translations/ru.json.mjs.map +1 -0
  239. package/dist/admin/translations/sk.json.js +88 -0
  240. package/dist/admin/translations/sk.json.js.map +1 -0
  241. package/dist/admin/translations/sk.json.mjs +86 -0
  242. package/dist/admin/translations/sk.json.mjs.map +1 -0
  243. package/dist/admin/translations/sv.json.js +87 -0
  244. package/dist/admin/translations/sv.json.js.map +1 -0
  245. package/dist/admin/translations/sv.json.mjs +85 -0
  246. package/dist/admin/translations/sv.json.mjs.map +1 -0
  247. package/dist/admin/translations/th.json.js +61 -0
  248. package/dist/admin/translations/th.json.js.map +1 -0
  249. package/dist/admin/translations/th.json.mjs +59 -0
  250. package/dist/admin/translations/th.json.mjs.map +1 -0
  251. package/dist/admin/translations/tr.json.js +86 -0
  252. package/dist/admin/translations/tr.json.js.map +1 -0
  253. package/dist/admin/translations/tr.json.mjs +84 -0
  254. package/dist/admin/translations/tr.json.mjs.map +1 -0
  255. package/dist/admin/translations/uk.json.js +87 -0
  256. package/dist/admin/translations/uk.json.js.map +1 -0
  257. package/dist/admin/translations/uk.json.mjs +85 -0
  258. package/dist/admin/translations/uk.json.mjs.map +1 -0
  259. package/dist/admin/translations/vi.json.js +51 -0
  260. package/dist/admin/translations/vi.json.js.map +1 -0
  261. package/dist/admin/translations/vi.json.mjs +49 -0
  262. package/dist/admin/translations/vi.json.mjs.map +1 -0
  263. package/dist/admin/translations/zh-Hans.json.js +87 -0
  264. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  265. package/dist/admin/translations/zh-Hans.json.mjs +85 -0
  266. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  267. package/dist/admin/translations/zh.json.js +87 -0
  268. package/dist/admin/translations/zh.json.js.map +1 -0
  269. package/dist/admin/translations/zh.json.mjs +85 -0
  270. package/dist/admin/translations/zh.json.mjs.map +1 -0
  271. package/dist/admin/utils/cleanPermissions.js +28 -0
  272. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  273. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  274. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  275. package/dist/admin/utils/formatPluginName.js +33 -0
  276. package/dist/admin/utils/formatPluginName.js.map +1 -0
  277. package/dist/admin/utils/formatPluginName.mjs +27 -0
  278. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  279. package/dist/admin/utils/getTrad.js +8 -0
  280. package/dist/admin/utils/getTrad.js.map +1 -0
  281. package/dist/admin/utils/getTrad.mjs +6 -0
  282. package/dist/admin/utils/getTrad.mjs.map +1 -0
  283. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  284. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  285. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  286. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  287. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  288. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  289. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  290. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  291. package/dist/server/_virtual/rateLimit.js +6 -0
  292. package/dist/server/_virtual/rateLimit.js.map +1 -0
  293. package/dist/server/_virtual/rateLimit.mjs +4 -0
  294. package/dist/server/_virtual/rateLimit.mjs.map +1 -0
  295. package/dist/server/bootstrap/index.js +171 -0
  296. package/dist/server/bootstrap/index.js.map +1 -0
  297. package/dist/server/bootstrap/index.mjs +164 -0
  298. package/dist/server/bootstrap/index.mjs.map +1 -0
  299. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  300. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  301. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  302. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  303. package/dist/server/config.js +70 -0
  304. package/dist/server/config.js.map +1 -0
  305. package/dist/server/config.mjs +68 -0
  306. package/dist/server/config.mjs.map +1 -0
  307. package/dist/server/content-types/index.js +30 -0
  308. package/dist/server/content-types/index.js.map +1 -0
  309. package/dist/server/content-types/index.mjs +28 -0
  310. package/dist/server/content-types/index.mjs.map +1 -0
  311. package/dist/server/content-types/permission/index.js +44 -0
  312. package/dist/server/content-types/permission/index.js.map +1 -0
  313. package/dist/server/content-types/permission/index.mjs +42 -0
  314. package/dist/server/content-types/permission/index.mjs.map +1 -0
  315. package/dist/server/content-types/role/index.js +61 -0
  316. package/dist/server/content-types/role/index.js.map +1 -0
  317. package/dist/server/content-types/role/index.mjs +59 -0
  318. package/dist/server/content-types/role/index.mjs.map +1 -0
  319. package/dist/server/content-types/user/index.js +84 -0
  320. package/dist/server/content-types/user/index.js.map +1 -0
  321. package/dist/server/content-types/user/index.mjs +82 -0
  322. package/dist/server/content-types/user/index.mjs.map +1 -0
  323. package/dist/server/content-types/user/schema-config.js +25 -0
  324. package/dist/server/content-types/user/schema-config.js.map +1 -0
  325. package/dist/server/content-types/user/schema-config.mjs +23 -0
  326. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  327. package/dist/server/controllers/auth.js +658 -0
  328. package/dist/server/controllers/auth.js.map +1 -0
  329. package/dist/server/controllers/auth.mjs +648 -0
  330. package/dist/server/controllers/auth.mjs.map +1 -0
  331. package/dist/server/controllers/content-manager-user.js +173 -0
  332. package/dist/server/controllers/content-manager-user.js.map +1 -0
  333. package/dist/server/controllers/content-manager-user.mjs +166 -0
  334. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  335. package/dist/server/controllers/index.js +33 -0
  336. package/dist/server/controllers/index.js.map +1 -0
  337. package/dist/server/controllers/index.mjs +31 -0
  338. package/dist/server/controllers/index.mjs.map +1 -0
  339. package/dist/server/controllers/permissions.js +41 -0
  340. package/dist/server/controllers/permissions.js.map +1 -0
  341. package/dist/server/controllers/permissions.mjs +35 -0
  342. package/dist/server/controllers/permissions.mjs.map +1 -0
  343. package/dist/server/controllers/role.js +96 -0
  344. package/dist/server/controllers/role.js.map +1 -0
  345. package/dist/server/controllers/role.mjs +89 -0
  346. package/dist/server/controllers/role.mjs.map +1 -0
  347. package/dist/server/controllers/settings.js +112 -0
  348. package/dist/server/controllers/settings.js.map +1 -0
  349. package/dist/server/controllers/settings.mjs +105 -0
  350. package/dist/server/controllers/settings.mjs.map +1 -0
  351. package/dist/server/controllers/user.js +206 -0
  352. package/dist/server/controllers/user.js.map +1 -0
  353. package/dist/server/controllers/user.mjs +199 -0
  354. package/dist/server/controllers/user.mjs.map +1 -0
  355. package/dist/server/controllers/validation/auth.js +135 -0
  356. package/dist/server/controllers/validation/auth.js.map +1 -0
  357. package/dist/server/controllers/validation/auth.mjs +129 -0
  358. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  359. package/dist/server/controllers/validation/email-template.js +77 -0
  360. package/dist/server/controllers/validation/email-template.js.map +1 -0
  361. package/dist/server/controllers/validation/email-template.mjs +70 -0
  362. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  363. package/dist/server/controllers/validation/user.js +65 -0
  364. package/dist/server/controllers/validation/user.js.map +1 -0
  365. package/dist/server/controllers/validation/user.mjs +59 -0
  366. package/dist/server/controllers/validation/user.mjs.map +1 -0
  367. package/dist/server/graphql/index.js +66 -0
  368. package/dist/server/graphql/index.js.map +1 -0
  369. package/dist/server/graphql/index.mjs +64 -0
  370. package/dist/server/graphql/index.mjs.map +1 -0
  371. package/dist/server/graphql/mutations/auth/change-password.js +44 -0
  372. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  373. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  374. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  375. package/dist/server/graphql/mutations/auth/email-confirmation.js +42 -0
  376. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  377. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  378. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  379. package/dist/server/graphql/mutations/auth/forgot-password.js +41 -0
  380. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  381. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  382. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  383. package/dist/server/graphql/mutations/auth/login.js +44 -0
  384. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  385. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  386. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  387. package/dist/server/graphql/mutations/auth/register.js +42 -0
  388. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  389. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  390. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  391. package/dist/server/graphql/mutations/auth/reset-password.js +44 -0
  392. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  393. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  394. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  395. package/dist/server/graphql/mutations/crud/role/create-role.js +41 -0
  396. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  397. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  398. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  399. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  400. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  401. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  402. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  403. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  404. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  405. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  406. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  407. package/dist/server/graphql/mutations/crud/user/create-user.js +50 -0
  408. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  409. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  410. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  411. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  412. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  413. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  414. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  415. package/dist/server/graphql/mutations/crud/user/update-user.js +53 -0
  416. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  417. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  418. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  419. package/dist/server/graphql/mutations/index.js +58 -0
  420. package/dist/server/graphql/mutations/index.js.map +1 -0
  421. package/dist/server/graphql/mutations/index.mjs +56 -0
  422. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  423. package/dist/server/graphql/queries/index.js +25 -0
  424. package/dist/server/graphql/queries/index.js.map +1 -0
  425. package/dist/server/graphql/queries/index.mjs +23 -0
  426. package/dist/server/graphql/queries/index.mjs.map +1 -0
  427. package/dist/server/graphql/queries/me.js +23 -0
  428. package/dist/server/graphql/queries/me.js.map +1 -0
  429. package/dist/server/graphql/queries/me.mjs +21 -0
  430. package/dist/server/graphql/queries/me.mjs.map +1 -0
  431. package/dist/server/graphql/resolvers-configs.js +93 -0
  432. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  433. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  434. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  435. package/dist/server/graphql/types/create-role-payload.js +20 -0
  436. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  437. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  438. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  439. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  440. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  441. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  442. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  443. package/dist/server/graphql/types/index.js +41 -0
  444. package/dist/server/graphql/types/index.js.map +1 -0
  445. package/dist/server/graphql/types/index.mjs +39 -0
  446. package/dist/server/graphql/types/index.mjs.map +1 -0
  447. package/dist/server/graphql/types/login-input.js +24 -0
  448. package/dist/server/graphql/types/login-input.js.map +1 -0
  449. package/dist/server/graphql/types/login-input.mjs +22 -0
  450. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  451. package/dist/server/graphql/types/login-payload.js +23 -0
  452. package/dist/server/graphql/types/login-payload.js.map +1 -0
  453. package/dist/server/graphql/types/login-payload.mjs +21 -0
  454. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  455. package/dist/server/graphql/types/me-role.js +23 -0
  456. package/dist/server/graphql/types/me-role.js.map +1 -0
  457. package/dist/server/graphql/types/me-role.mjs +21 -0
  458. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  459. package/dist/server/graphql/types/me.js +28 -0
  460. package/dist/server/graphql/types/me.js.map +1 -0
  461. package/dist/server/graphql/types/me.mjs +26 -0
  462. package/dist/server/graphql/types/me.mjs.map +1 -0
  463. package/dist/server/graphql/types/password-payload.js +20 -0
  464. package/dist/server/graphql/types/password-payload.js.map +1 -0
  465. package/dist/server/graphql/types/password-payload.mjs +18 -0
  466. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  467. package/dist/server/graphql/types/register-input.js +22 -0
  468. package/dist/server/graphql/types/register-input.js.map +1 -0
  469. package/dist/server/graphql/types/register-input.mjs +20 -0
  470. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  471. package/dist/server/graphql/types/update-role-payload.js +20 -0
  472. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  473. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  474. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  475. package/dist/server/graphql/types/user-input.js +26 -0
  476. package/dist/server/graphql/types/user-input.js.map +1 -0
  477. package/dist/server/graphql/types/user-input.mjs +24 -0
  478. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  479. package/dist/server/graphql/utils.js +36 -0
  480. package/dist/server/graphql/utils.js.map +1 -0
  481. package/dist/server/graphql/utils.mjs +30 -0
  482. package/dist/server/graphql/utils.mjs.map +1 -0
  483. package/dist/server/index.js +10 -0
  484. package/dist/server/index.js.map +1 -0
  485. package/dist/server/index.mjs +8 -0
  486. package/dist/server/index.mjs.map +1 -0
  487. package/dist/server/index2.js +39 -0
  488. package/dist/server/index2.js.map +1 -0
  489. package/dist/server/index2.mjs +37 -0
  490. package/dist/server/index2.mjs.map +1 -0
  491. package/dist/server/middlewares/index.js +18 -0
  492. package/dist/server/middlewares/index.js.map +1 -0
  493. package/dist/server/middlewares/index.mjs +16 -0
  494. package/dist/server/middlewares/index.mjs.map +1 -0
  495. package/dist/server/middlewares/rateLimit.js +127 -0
  496. package/dist/server/middlewares/rateLimit.js.map +1 -0
  497. package/dist/server/middlewares/rateLimit.mjs +118 -0
  498. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  499. package/dist/server/register.js +46 -0
  500. package/dist/server/register.js.map +1 -0
  501. package/dist/server/register.mjs +39 -0
  502. package/dist/server/register.mjs.map +1 -0
  503. package/dist/server/routes/admin/index.js +27 -0
  504. package/dist/server/routes/admin/index.js.map +1 -0
  505. package/dist/server/routes/admin/index.mjs +25 -0
  506. package/dist/server/routes/admin/index.mjs.map +1 -0
  507. package/dist/server/routes/admin/permissions.js +29 -0
  508. package/dist/server/routes/admin/permissions.js.map +1 -0
  509. package/dist/server/routes/admin/permissions.mjs +27 -0
  510. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  511. package/dist/server/routes/admin/role.js +99 -0
  512. package/dist/server/routes/admin/role.js.map +1 -0
  513. package/dist/server/routes/admin/role.mjs +97 -0
  514. package/dist/server/routes/admin/role.mjs.map +1 -0
  515. package/dist/server/routes/admin/settings.js +116 -0
  516. package/dist/server/routes/admin/settings.js.map +1 -0
  517. package/dist/server/routes/admin/settings.mjs +114 -0
  518. package/dist/server/routes/admin/settings.mjs.map +1 -0
  519. package/dist/server/routes/content-api/auth.js +187 -0
  520. package/dist/server/routes/content-api/auth.js.map +1 -0
  521. package/dist/server/routes/content-api/auth.mjs +185 -0
  522. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  523. package/dist/server/routes/content-api/index.js +36 -0
  524. package/dist/server/routes/content-api/index.js.map +1 -0
  525. package/dist/server/routes/content-api/index.mjs +30 -0
  526. package/dist/server/routes/content-api/index.mjs.map +1 -0
  527. package/dist/server/routes/content-api/permissions.js +26 -0
  528. package/dist/server/routes/content-api/permissions.js.map +1 -0
  529. package/dist/server/routes/content-api/permissions.mjs +24 -0
  530. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  531. package/dist/server/routes/content-api/role.js +73 -0
  532. package/dist/server/routes/content-api/role.js.map +1 -0
  533. package/dist/server/routes/content-api/role.mjs +71 -0
  534. package/dist/server/routes/content-api/role.mjs.map +1 -0
  535. package/dist/server/routes/content-api/user.js +136 -0
  536. package/dist/server/routes/content-api/user.js.map +1 -0
  537. package/dist/server/routes/content-api/user.mjs +130 -0
  538. package/dist/server/routes/content-api/user.mjs.map +1 -0
  539. package/dist/server/routes/content-api/validation.js +249 -0
  540. package/dist/server/routes/content-api/validation.js.map +1 -0
  541. package/dist/server/routes/content-api/validation.mjs +242 -0
  542. package/dist/server/routes/content-api/validation.mjs.map +1 -0
  543. package/dist/server/routes/index.js +19 -0
  544. package/dist/server/routes/index.js.map +1 -0
  545. package/dist/server/routes/index.mjs +17 -0
  546. package/dist/server/routes/index.mjs.map +1 -0
  547. package/dist/server/services/constants.js +19 -0
  548. package/dist/server/services/constants.js.map +1 -0
  549. package/dist/server/services/constants.mjs +17 -0
  550. package/dist/server/services/constants.mjs.map +1 -0
  551. package/dist/server/services/index.js +36 -0
  552. package/dist/server/services/index.js.map +1 -0
  553. package/dist/server/services/index.mjs +34 -0
  554. package/dist/server/services/index.mjs.map +1 -0
  555. package/dist/server/services/jwt.js +100 -0
  556. package/dist/server/services/jwt.js.map +1 -0
  557. package/dist/server/services/jwt.mjs +93 -0
  558. package/dist/server/services/jwt.mjs.map +1 -0
  559. package/dist/server/services/permission.js +52 -0
  560. package/dist/server/services/permission.js.map +1 -0
  561. package/dist/server/services/permission.mjs +50 -0
  562. package/dist/server/services/permission.mjs.map +1 -0
  563. package/dist/server/services/providers-registry.js +563 -0
  564. package/dist/server/services/providers-registry.js.map +1 -0
  565. package/dist/server/services/providers-registry.mjs +553 -0
  566. package/dist/server/services/providers-registry.mjs.map +1 -0
  567. package/dist/server/services/providers.js +120 -0
  568. package/dist/server/services/providers.js.map +1 -0
  569. package/dist/server/services/providers.mjs +113 -0
  570. package/dist/server/services/providers.mjs.map +1 -0
  571. package/dist/server/services/role.js +191 -0
  572. package/dist/server/services/role.js.map +1 -0
  573. package/dist/server/services/role.mjs +184 -0
  574. package/dist/server/services/role.mjs.map +1 -0
  575. package/dist/server/services/user.js +214 -0
  576. package/dist/server/services/user.js.map +1 -0
  577. package/dist/server/services/user.mjs +204 -0
  578. package/dist/server/services/user.mjs.map +1 -0
  579. package/dist/server/services/users-permissions.js +271 -0
  580. package/dist/server/services/users-permissions.js.map +1 -0
  581. package/dist/server/services/users-permissions.mjs +262 -0
  582. package/dist/server/services/users-permissions.mjs.map +1 -0
  583. package/dist/server/strategies/users-permissions.js +126 -0
  584. package/dist/server/strategies/users-permissions.js.map +1 -0
  585. package/dist/server/strategies/users-permissions.mjs +119 -0
  586. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  587. package/dist/server/utils/index.js +52 -0
  588. package/dist/server/utils/index.js.map +1 -0
  589. package/dist/server/utils/index.mjs +46 -0
  590. package/dist/server/utils/index.mjs.map +1 -0
  591. package/dist/server/utils/refresh-cookie-options.js +27 -0
  592. package/dist/server/utils/refresh-cookie-options.js.map +1 -0
  593. package/dist/server/utils/refresh-cookie-options.mjs +25 -0
  594. package/dist/server/utils/refresh-cookie-options.mjs.map +1 -0
  595. package/dist/server/utils/sanitize/index.js +21 -0
  596. package/dist/server/utils/sanitize/index.js.map +1 -0
  597. package/dist/server/utils/sanitize/index.mjs +19 -0
  598. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  599. package/dist/server/utils/sanitize/sanitizers.js +37 -0
  600. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  601. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  602. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  603. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  604. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  605. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  606. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  607. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  608. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  609. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  610. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  611. package/lint-staged.config.mjs +1 -0
  612. package/package.json +34 -28
  613. package/rollup.config.mjs +19 -0
  614. package/server/bootstrap/index.js +44 -9
  615. package/server/bootstrap/users-permissions-actions.js +6 -0
  616. package/server/config.js +22 -0
  617. package/server/controllers/auth.js +286 -15
  618. package/server/controllers/content-manager-user.js +3 -4
  619. package/server/controllers/role.js +16 -3
  620. package/server/controllers/validation/auth.js +104 -25
  621. package/server/controllers/validation/user.js +34 -10
  622. package/server/graphql/types/index.js +1 -0
  623. package/server/graphql/types/me.js +1 -0
  624. package/server/graphql/types/user-input.js +20 -0
  625. package/server/middlewares/rateLimit.js +91 -15
  626. package/server/register.js +1 -1
  627. package/server/routes/content-api/auth.js +132 -71
  628. package/server/routes/content-api/index.js +11 -4
  629. package/server/routes/content-api/permissions.js +14 -7
  630. package/server/routes/content-api/role.js +57 -27
  631. package/server/routes/content-api/user.js +108 -51
  632. package/server/routes/content-api/validation.js +280 -0
  633. package/server/services/constants.js +9 -0
  634. package/server/services/jwt.js +51 -2
  635. package/server/services/providers-registry.js +468 -275
  636. package/server/services/providers.js +6 -1
  637. package/server/services/user.js +40 -6
  638. package/server/services/users-permissions.js +8 -2
  639. package/server/strategies/users-permissions.js +6 -1
  640. package/server/utils/index.d.ts +6 -1
  641. package/server/utils/index.js +30 -0
  642. package/server/utils/refresh-cookie-options.js +20 -0
  643. package/.eslintignore +0 -1
  644. package/.eslintrc +0 -17
  645. package/dist/_chunks/ar-BguGUqwK.js +0 -44
  646. package/dist/_chunks/ar-BguGUqwK.js.map +0 -1
  647. package/dist/_chunks/ar-CK8BRRXB.mjs +0 -44
  648. package/dist/_chunks/ar-CK8BRRXB.mjs.map +0 -1
  649. package/dist/_chunks/cs-BVigMk0l.mjs +0 -50
  650. package/dist/_chunks/cs-BVigMk0l.mjs.map +0 -1
  651. package/dist/_chunks/cs-BW8-K_GY.js +0 -50
  652. package/dist/_chunks/cs-BW8-K_GY.js.map +0 -1
  653. package/dist/_chunks/de-BKUdRFI4.mjs +0 -62
  654. package/dist/_chunks/de-BKUdRFI4.mjs.map +0 -1
  655. package/dist/_chunks/de-owXpVluI.js +0 -62
  656. package/dist/_chunks/de-owXpVluI.js.map +0 -1
  657. package/dist/_chunks/dk-BQiTK50l.mjs +0 -86
  658. package/dist/_chunks/dk-BQiTK50l.mjs.map +0 -1
  659. package/dist/_chunks/dk-LXAnbuBk.js +0 -86
  660. package/dist/_chunks/dk-LXAnbuBk.js.map +0 -1
  661. package/dist/_chunks/en-DOHtPf-2.mjs +0 -86
  662. package/dist/_chunks/en-DOHtPf-2.mjs.map +0 -1
  663. package/dist/_chunks/en-MHo5mcsU.js +0 -86
  664. package/dist/_chunks/en-MHo5mcsU.js.map +0 -1
  665. package/dist/_chunks/es-BwLCLXAQ.js +0 -86
  666. package/dist/_chunks/es-BwLCLXAQ.js.map +0 -1
  667. package/dist/_chunks/es-DNgOVMjD.mjs +0 -86
  668. package/dist/_chunks/es-DNgOVMjD.mjs.map +0 -1
  669. package/dist/_chunks/fr-DkgRugiU.mjs +0 -50
  670. package/dist/_chunks/fr-DkgRugiU.mjs.map +0 -1
  671. package/dist/_chunks/fr-DkhpSjjm.js +0 -50
  672. package/dist/_chunks/fr-DkhpSjjm.js.map +0 -1
  673. package/dist/_chunks/id-BTemOeTZ.js +0 -62
  674. package/dist/_chunks/id-BTemOeTZ.js.map +0 -1
  675. package/dist/_chunks/id-BdEsvnaF.mjs +0 -62
  676. package/dist/_chunks/id-BdEsvnaF.mjs.map +0 -1
  677. package/dist/_chunks/index-1yJqFGcz.js +0 -357
  678. package/dist/_chunks/index-1yJqFGcz.js.map +0 -1
  679. package/dist/_chunks/index-BB5U9Kud.mjs +0 -335
  680. package/dist/_chunks/index-BB5U9Kud.mjs.map +0 -1
  681. package/dist/_chunks/index-C66h32T6.mjs +0 -249
  682. package/dist/_chunks/index-C66h32T6.mjs.map +0 -1
  683. package/dist/_chunks/index-CCvjUh0q.js +0 -272
  684. package/dist/_chunks/index-CCvjUh0q.js.map +0 -1
  685. package/dist/_chunks/index-CF3O6laL.js +0 -248
  686. package/dist/_chunks/index-CF3O6laL.js.map +0 -1
  687. package/dist/_chunks/index-DXzNLZhT.mjs +0 -1127
  688. package/dist/_chunks/index-DXzNLZhT.mjs.map +0 -1
  689. package/dist/_chunks/index-D_vMW40H-Cqx0wYbj.js +0 -10594
  690. package/dist/_chunks/index-D_vMW40H-Cqx0wYbj.js.map +0 -1
  691. package/dist/_chunks/index-D_vMW40H-dMZbL-qM.mjs +0 -10570
  692. package/dist/_chunks/index-D_vMW40H-dMZbL-qM.mjs.map +0 -1
  693. package/dist/_chunks/index-DbO1QgVj.mjs +0 -605
  694. package/dist/_chunks/index-DbO1QgVj.mjs.map +0 -1
  695. package/dist/_chunks/index-DhIibAlG.mjs +0 -253
  696. package/dist/_chunks/index-DhIibAlG.mjs.map +0 -1
  697. package/dist/_chunks/index-nERSS5kO.js +0 -628
  698. package/dist/_chunks/index-nERSS5kO.js.map +0 -1
  699. package/dist/_chunks/index-y80DChTp.js +0 -1157
  700. package/dist/_chunks/index-y80DChTp.js.map +0 -1
  701. package/dist/_chunks/it-B-rv0E24.mjs +0 -62
  702. package/dist/_chunks/it-B-rv0E24.mjs.map +0 -1
  703. package/dist/_chunks/it-D1rH6V6_.js +0 -62
  704. package/dist/_chunks/it-D1rH6V6_.js.map +0 -1
  705. package/dist/_chunks/ja-C8K-VBPD.mjs +0 -48
  706. package/dist/_chunks/ja-C8K-VBPD.mjs.map +0 -1
  707. package/dist/_chunks/ja-DqShgTMf.js +0 -48
  708. package/dist/_chunks/ja-DqShgTMf.js.map +0 -1
  709. package/dist/_chunks/ko-B9DGEPWH.js +0 -86
  710. package/dist/_chunks/ko-B9DGEPWH.js.map +0 -1
  711. package/dist/_chunks/ko-Busb0wIY.mjs +0 -86
  712. package/dist/_chunks/ko-Busb0wIY.mjs.map +0 -1
  713. package/dist/_chunks/ms-ByvsQjRt.mjs +0 -49
  714. package/dist/_chunks/ms-ByvsQjRt.mjs.map +0 -1
  715. package/dist/_chunks/ms-CPBU3LWf.js +0 -49
  716. package/dist/_chunks/ms-CPBU3LWf.js.map +0 -1
  717. package/dist/_chunks/nl-5qO8Rpcy.mjs +0 -48
  718. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +0 -1
  719. package/dist/_chunks/nl-CwNB6YoO.js +0 -48
  720. package/dist/_chunks/nl-CwNB6YoO.js.map +0 -1
  721. package/dist/_chunks/pl-BdIzifBE.mjs +0 -86
  722. package/dist/_chunks/pl-BdIzifBE.mjs.map +0 -1
  723. package/dist/_chunks/pl-Do9UD69f.js +0 -86
  724. package/dist/_chunks/pl-Do9UD69f.js.map +0 -1
  725. package/dist/_chunks/pt-BIO24ioG.mjs +0 -48
  726. package/dist/_chunks/pt-BIO24ioG.mjs.map +0 -1
  727. package/dist/_chunks/pt-BR-D7dZhxuP.js +0 -44
  728. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +0 -1
  729. package/dist/_chunks/pt-BR-f0p23AQZ.mjs +0 -44
  730. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +0 -1
  731. package/dist/_chunks/pt-fdvyOnUp.js +0 -48
  732. package/dist/_chunks/pt-fdvyOnUp.js.map +0 -1
  733. package/dist/_chunks/ru-C94rjPGA.js +0 -86
  734. package/dist/_chunks/ru-C94rjPGA.js.map +0 -1
  735. package/dist/_chunks/ru-VWy-IB7K.mjs +0 -86
  736. package/dist/_chunks/ru-VWy-IB7K.mjs.map +0 -1
  737. package/dist/_chunks/sk-BABEhykl.js +0 -50
  738. package/dist/_chunks/sk-BABEhykl.js.map +0 -1
  739. package/dist/_chunks/sk-B_LIcepm.mjs +0 -50
  740. package/dist/_chunks/sk-B_LIcepm.mjs.map +0 -1
  741. package/dist/_chunks/sv-ABLKOokl.mjs +0 -86
  742. package/dist/_chunks/sv-ABLKOokl.mjs.map +0 -1
  743. package/dist/_chunks/sv-Be43LhA9.js +0 -86
  744. package/dist/_chunks/sv-Be43LhA9.js.map +0 -1
  745. package/dist/_chunks/th-DKyP7ueR.mjs +0 -60
  746. package/dist/_chunks/th-DKyP7ueR.mjs.map +0 -1
  747. package/dist/_chunks/th-DgVhVLhL.js +0 -60
  748. package/dist/_chunks/th-DgVhVLhL.js.map +0 -1
  749. package/dist/_chunks/tr-B_idhkEs.js +0 -85
  750. package/dist/_chunks/tr-B_idhkEs.js.map +0 -1
  751. package/dist/_chunks/tr-qa1Q5UjC.mjs +0 -85
  752. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +0 -1
  753. package/dist/_chunks/uk-BmRqbeQc.mjs +0 -49
  754. package/dist/_chunks/uk-BmRqbeQc.mjs.map +0 -1
  755. package/dist/_chunks/uk-LHOivnhP.js +0 -49
  756. package/dist/_chunks/uk-LHOivnhP.js.map +0 -1
  757. package/dist/_chunks/vi-CdVRdKDw.js +0 -50
  758. package/dist/_chunks/vi-CdVRdKDw.js.map +0 -1
  759. package/dist/_chunks/vi-HW-EdMea.mjs +0 -50
  760. package/dist/_chunks/vi-HW-EdMea.mjs.map +0 -1
  761. package/dist/_chunks/zh-5hKkVPA4.mjs +0 -86
  762. package/dist/_chunks/zh-5hKkVPA4.mjs.map +0 -1
  763. package/dist/_chunks/zh-Cuq8gMnF.js +0 -86
  764. package/dist/_chunks/zh-Cuq8gMnF.js.map +0 -1
  765. package/dist/_chunks/zh-Hans-BHilK-yc.mjs +0 -86
  766. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +0 -1
  767. package/dist/_chunks/zh-Hans-GQDMKtY4.js +0 -86
  768. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +0 -1
  769. package/packup.config.ts +0 -22
  770. package/server/bootstrap/grant-config.js +0 -140
  771. package/strapi-server.js +0 -3
  772. /package/admin/src/translations/{dk.json → da.json} +0 -0
@@ -0,0 +1,563 @@
1
+ 'use strict';
2
+
3
+ var require$$0 = require('assert');
4
+ var require$$1 = require('jsonwebtoken');
5
+ var require$$2 = require('url-join');
6
+ var require$$3 = require('jwk-to-pem');
7
+ var require$$4 = require('purest');
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
+
17
+ var providersRegistry;
18
+ var hasRequiredProvidersRegistry;
19
+ function requireProvidersRegistry() {
20
+ if (hasRequiredProvidersRegistry) return providersRegistry;
21
+ hasRequiredProvidersRegistry = 1;
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;
26
+ const getCognitoPayload = async ({ idToken, jwksUrl, purest })=>{
27
+ const { header: { kid }, payload } = jwt.decode(idToken, {
28
+ complete: true
29
+ });
30
+ if (!payload || !kid) {
31
+ throw new Error('The provided token is not valid');
32
+ }
33
+ const config = {
34
+ cognito: {
35
+ discovery: {
36
+ origin: jwksUrl.origin,
37
+ path: jwksUrl.pathname
38
+ }
39
+ }
40
+ };
41
+ try {
42
+ const cognito = purest({
43
+ provider: 'cognito',
44
+ config
45
+ });
46
+ // get the JSON Web Key (JWK) for the user pool
47
+ const { body: jwk } = await cognito('discovery').request();
48
+ // Get the key with the same Key ID as the provided token
49
+ const key = jwk.keys.find(({ kid: jwkKid })=>jwkKid === kid);
50
+ const pem = jwkToPem(key);
51
+ // https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html
52
+ const decodedToken = await new Promise((resolve, reject)=>{
53
+ jwt.verify(idToken, pem, {
54
+ algorithms: [
55
+ 'RS256'
56
+ ]
57
+ }, (err, decodedToken)=>{
58
+ if (err) {
59
+ reject();
60
+ }
61
+ resolve(decodedToken);
62
+ });
63
+ });
64
+ return decodedToken;
65
+ } catch (err) {
66
+ throw new Error('There was an error verifying the token');
67
+ }
68
+ };
69
+ const initProviders = ({ baseURL, purest })=>({
70
+ email: {
71
+ enabled: true,
72
+ icon: 'envelope',
73
+ grantConfig: {}
74
+ },
75
+ discord: {
76
+ enabled: false,
77
+ icon: 'discord',
78
+ grantConfig: {
79
+ key: '',
80
+ secret: '',
81
+ callbackUrl: `${baseURL}/discord/callback`,
82
+ scope: [
83
+ 'identify',
84
+ 'email'
85
+ ]
86
+ },
87
+ async authCallback ({ accessToken }) {
88
+ const discord = purest({
89
+ provider: 'discord'
90
+ });
91
+ return discord.get('users/@me').auth(accessToken).request().then(({ body })=>{
92
+ // Combine username and discriminator (if discriminator exists and not equal to 0)
93
+ const username = body.discriminator && body.discriminator !== '0' ? `${body.username}#${body.discriminator}` : body.username;
94
+ return {
95
+ username,
96
+ email: body.email
97
+ };
98
+ });
99
+ }
100
+ },
101
+ facebook: {
102
+ enabled: false,
103
+ icon: 'facebook-square',
104
+ grantConfig: {
105
+ key: '',
106
+ secret: '',
107
+ callbackUrl: `${baseURL}/facebook/callback`,
108
+ scope: [
109
+ 'email'
110
+ ]
111
+ },
112
+ async authCallback ({ accessToken }) {
113
+ const facebook = purest({
114
+ provider: 'facebook'
115
+ });
116
+ return facebook.get('me').auth(accessToken).qs({
117
+ fields: 'name,email'
118
+ }).request().then(({ body })=>({
119
+ username: body.name,
120
+ email: body.email
121
+ }));
122
+ }
123
+ },
124
+ google: {
125
+ enabled: false,
126
+ icon: 'google',
127
+ grantConfig: {
128
+ key: '',
129
+ secret: '',
130
+ callbackUrl: `${baseURL}/google/callback`,
131
+ scope: [
132
+ 'email'
133
+ ]
134
+ },
135
+ async authCallback ({ accessToken }) {
136
+ const google = purest({
137
+ provider: 'google'
138
+ });
139
+ return google.query('oauth').get('tokeninfo').qs({
140
+ accessToken
141
+ }).request().then(({ body })=>({
142
+ username: body.email.split('@')[0],
143
+ email: body.email
144
+ }));
145
+ }
146
+ },
147
+ github: {
148
+ enabled: false,
149
+ icon: 'github',
150
+ grantConfig: {
151
+ key: '',
152
+ secret: '',
153
+ callbackUrl: `${baseURL}/github/callback`,
154
+ scope: [
155
+ 'user',
156
+ 'user:email'
157
+ ]
158
+ },
159
+ async authCallback ({ accessToken }) {
160
+ const github = purest({
161
+ provider: 'github',
162
+ defaults: {
163
+ headers: {
164
+ 'user-agent': 'strapi'
165
+ }
166
+ }
167
+ });
168
+ const { body: userBody } = await github.get('user').auth(accessToken).request();
169
+ // This is the public email on the github profile
170
+ if (userBody.email) {
171
+ return {
172
+ username: userBody.login,
173
+ email: userBody.email
174
+ };
175
+ }
176
+ // Get the email with Github's user/emails API
177
+ const { body: emailBody } = await github.get('user/emails').auth(accessToken).request();
178
+ return {
179
+ username: userBody.login,
180
+ email: Array.isArray(emailBody) ? emailBody.find((email)=>email.primary === true).email : null
181
+ };
182
+ }
183
+ },
184
+ microsoft: {
185
+ enabled: false,
186
+ icon: 'windows',
187
+ grantConfig: {
188
+ key: '',
189
+ secret: '',
190
+ callbackUrl: `${baseURL}/microsoft/callback`,
191
+ scope: [
192
+ 'user.read'
193
+ ]
194
+ },
195
+ async authCallback ({ accessToken }) {
196
+ const microsoft = purest({
197
+ provider: 'microsoft'
198
+ });
199
+ return microsoft.get('me').auth(accessToken).request().then(({ body })=>({
200
+ username: body.userPrincipalName,
201
+ email: body.userPrincipalName
202
+ }));
203
+ }
204
+ },
205
+ twitter: {
206
+ enabled: false,
207
+ icon: 'twitter',
208
+ grantConfig: {
209
+ key: '',
210
+ secret: '',
211
+ callbackUrl: `${baseURL}/twitter/callback`
212
+ },
213
+ async authCallback ({ accessToken, query, providers }) {
214
+ const twitter = purest({
215
+ provider: 'twitter',
216
+ defaults: {
217
+ oauth: {
218
+ consumer_key: providers.twitter.key,
219
+ consumer_secret: providers.twitter.secret
220
+ }
221
+ }
222
+ });
223
+ return twitter.get('account/verify_credentials').auth(accessToken, query.access_secret).qs({
224
+ screen_name: query['raw[screen_name]'],
225
+ include_email: 'true'
226
+ }).request().then(({ body })=>({
227
+ username: body.screen_name,
228
+ email: body.email
229
+ }));
230
+ }
231
+ },
232
+ instagram: {
233
+ enabled: false,
234
+ icon: 'instagram',
235
+ grantConfig: {
236
+ key: '',
237
+ secret: '',
238
+ callbackUrl: `${baseURL}/instagram/callback`,
239
+ scope: [
240
+ 'user_profile'
241
+ ]
242
+ },
243
+ async authCallback ({ accessToken }) {
244
+ const instagram = purest({
245
+ provider: 'instagram'
246
+ });
247
+ return instagram.get('me').auth(accessToken).qs({
248
+ fields: 'id,username'
249
+ }).request().then(({ body })=>({
250
+ username: body.username,
251
+ email: `${body.username}@strapi.io`
252
+ }));
253
+ }
254
+ },
255
+ vk: {
256
+ enabled: false,
257
+ icon: 'vk',
258
+ grantConfig: {
259
+ key: '',
260
+ secret: '',
261
+ callbackUrl: `${baseURL}/vk/callback`,
262
+ scope: [
263
+ 'email'
264
+ ]
265
+ },
266
+ async authCallback ({ accessToken, query }) {
267
+ const vk = purest({
268
+ provider: 'vk'
269
+ });
270
+ return vk.get('users').auth(accessToken).qs({
271
+ id: query.raw.user_id,
272
+ v: '5.122'
273
+ }).request().then(({ body })=>({
274
+ username: `${body.response[0].last_name} ${body.response[0].first_name}`,
275
+ email: query.raw.email
276
+ }));
277
+ }
278
+ },
279
+ twitch: {
280
+ enabled: false,
281
+ icon: 'twitch',
282
+ grantConfig: {
283
+ key: '',
284
+ secret: '',
285
+ callbackUrl: `${baseURL}/twitch/callback`,
286
+ scope: [
287
+ 'user:read:email'
288
+ ]
289
+ },
290
+ async authCallback ({ accessToken, providers }) {
291
+ const twitch = purest({
292
+ provider: 'twitch',
293
+ config: {
294
+ twitch: {
295
+ default: {
296
+ origin: 'https://api.twitch.tv',
297
+ path: 'helix/{path}',
298
+ headers: {
299
+ Authorization: 'Bearer {auth}',
300
+ 'Client-Id': '{auth}'
301
+ }
302
+ }
303
+ }
304
+ }
305
+ });
306
+ return twitch.get('users').auth(accessToken, providers.twitch.key).request().then(({ body })=>({
307
+ username: body.data[0].login,
308
+ email: body.data[0].email
309
+ }));
310
+ }
311
+ },
312
+ linkedin: {
313
+ enabled: false,
314
+ icon: 'linkedin',
315
+ grantConfig: {
316
+ key: '',
317
+ secret: '',
318
+ callbackUrl: `${baseURL}/linkedin/callback`,
319
+ scope: [
320
+ 'r_liteprofile',
321
+ 'r_emailaddress'
322
+ ]
323
+ },
324
+ async authCallback ({ accessToken }) {
325
+ const linkedIn = purest({
326
+ provider: 'linkedin'
327
+ });
328
+ const { body: { localizedFirstName } } = await linkedIn.get('me').auth(accessToken).request();
329
+ const { body: { elements } } = await linkedIn.get('emailAddress?q=members&projection=(elements*(handle~))').auth(accessToken).request();
330
+ const email = elements[0]['handle~'];
331
+ return {
332
+ username: localizedFirstName,
333
+ email: email.emailAddress
334
+ };
335
+ }
336
+ },
337
+ cognito: {
338
+ enabled: false,
339
+ icon: 'aws',
340
+ grantConfig: {
341
+ key: '',
342
+ secret: '',
343
+ subdomain: 'my.subdomain.com',
344
+ callback: `${baseURL}/cognito/callback`,
345
+ scope: [
346
+ 'email',
347
+ 'openid',
348
+ 'profile'
349
+ ]
350
+ },
351
+ async authCallback ({ query, providers }) {
352
+ const jwksUrl = new URL(providers.cognito.jwksurl);
353
+ const idToken = query.id_token;
354
+ const tokenPayload = await getCognitoPayload({
355
+ idToken,
356
+ jwksUrl,
357
+ purest
358
+ });
359
+ return {
360
+ username: tokenPayload['cognito:username'],
361
+ email: tokenPayload.email
362
+ };
363
+ }
364
+ },
365
+ reddit: {
366
+ enabled: false,
367
+ icon: 'reddit',
368
+ grantConfig: {
369
+ key: '',
370
+ secret: '',
371
+ callback: `${baseURL}/reddit/callback`,
372
+ scope: [
373
+ 'identity'
374
+ ]
375
+ },
376
+ async authCallback ({ accessToken }) {
377
+ const reddit = purest({
378
+ provider: 'reddit',
379
+ config: {
380
+ reddit: {
381
+ default: {
382
+ origin: 'https://oauth.reddit.com',
383
+ path: 'api/{version}/{path}',
384
+ version: 'v1',
385
+ headers: {
386
+ Authorization: 'Bearer {auth}',
387
+ 'user-agent': 'strapi'
388
+ }
389
+ }
390
+ }
391
+ }
392
+ });
393
+ return reddit.get('me').auth(accessToken).request().then(({ body })=>({
394
+ username: body.name,
395
+ email: `${body.name}@strapi.io`
396
+ }));
397
+ }
398
+ },
399
+ auth0: {
400
+ enabled: false,
401
+ icon: '',
402
+ grantConfig: {
403
+ key: '',
404
+ secret: '',
405
+ subdomain: 'my-tenant.eu',
406
+ callback: `${baseURL}/auth0/callback`,
407
+ scope: [
408
+ 'openid',
409
+ 'email',
410
+ 'profile'
411
+ ]
412
+ },
413
+ async authCallback ({ accessToken, providers }) {
414
+ const auth0 = purest({
415
+ provider: 'auth0'
416
+ });
417
+ return auth0.get('userinfo').subdomain(providers.auth0.subdomain).auth(accessToken).request().then(({ body })=>{
418
+ const username = body.username || body.nickname || body.name || body.email.split('@')[0];
419
+ const email = body.email || `${username.replace(/\s+/g, '.')}@strapi.io`;
420
+ return {
421
+ username,
422
+ email
423
+ };
424
+ });
425
+ }
426
+ },
427
+ cas: {
428
+ enabled: false,
429
+ icon: 'book',
430
+ grantConfig: {
431
+ key: '',
432
+ secret: '',
433
+ callback: `${baseURL}/cas/callback`,
434
+ scope: [
435
+ 'openid email'
436
+ ],
437
+ subdomain: 'my.subdomain.com/cas'
438
+ },
439
+ async authCallback ({ accessToken, providers }) {
440
+ const cas = purest({
441
+ provider: 'cas'
442
+ });
443
+ return cas.get('oidc/profile').subdomain(providers.cas.subdomain).auth(accessToken).request().then(({ body })=>{
444
+ // CAS attribute may be in body.attributes or "FLAT", depending on CAS config
445
+ const username = body.attributes ? body.attributes.strapiusername || body.id || body.sub : body.strapiusername || body.id || body.sub;
446
+ const email = body.attributes ? body.attributes.strapiemail || body.attributes.email : body.strapiemail || body.email;
447
+ if (!username || !email) {
448
+ strapi.log.warn(`CAS Response Body did not contain required attributes: ${JSON.stringify(body)}`);
449
+ }
450
+ return {
451
+ username,
452
+ email
453
+ };
454
+ });
455
+ }
456
+ },
457
+ patreon: {
458
+ enabled: false,
459
+ icon: '',
460
+ grantConfig: {
461
+ key: '',
462
+ secret: '',
463
+ callback: `${baseURL}/patreon/callback`,
464
+ scope: [
465
+ 'identity',
466
+ 'identity[email]'
467
+ ]
468
+ },
469
+ async authCallback ({ accessToken }) {
470
+ const patreon = purest({
471
+ provider: 'patreon',
472
+ config: {
473
+ patreon: {
474
+ default: {
475
+ origin: 'https://www.patreon.com',
476
+ path: 'api/oauth2/{path}',
477
+ headers: {
478
+ authorization: 'Bearer {auth}'
479
+ }
480
+ }
481
+ }
482
+ }
483
+ });
484
+ return patreon.get('v2/identity').auth(accessToken).qs(new URLSearchParams({
485
+ 'fields[user]': 'full_name,email'
486
+ }).toString()).request().then(({ body })=>{
487
+ const patreonData = body.data.attributes;
488
+ return {
489
+ username: patreonData.full_name,
490
+ email: patreonData.email
491
+ };
492
+ });
493
+ }
494
+ },
495
+ keycloak: {
496
+ enabled: false,
497
+ icon: '',
498
+ grantConfig: {
499
+ key: '',
500
+ secret: '',
501
+ subdomain: 'myKeycloakProvider.com/realms/myrealm',
502
+ callback: `${baseURL}/keycloak/callback`,
503
+ scope: [
504
+ 'openid',
505
+ 'email',
506
+ 'profile'
507
+ ]
508
+ },
509
+ async authCallback ({ accessToken, providers }) {
510
+ const keycloak = purest({
511
+ provider: 'keycloak'
512
+ });
513
+ return keycloak.subdomain(providers.keycloak.subdomain).get('protocol/openid-connect/userinfo').auth(accessToken).request().then(({ body })=>{
514
+ return {
515
+ username: body.preferred_username,
516
+ email: body.email
517
+ };
518
+ });
519
+ }
520
+ }
521
+ });
522
+ providersRegistry = ()=>{
523
+ const purest = require$$4__default.default;
524
+ const apiPrefix = strapi.config.get('api.rest.prefix');
525
+ const baseURL = urljoin(strapi.config.server.url, apiPrefix, 'auth');
526
+ const authProviders = initProviders({
527
+ baseURL,
528
+ purest
529
+ });
530
+ /**
531
+ * @public
532
+ */ return {
533
+ getAll () {
534
+ return authProviders;
535
+ },
536
+ get (name) {
537
+ return authProviders[name];
538
+ },
539
+ add (name, config) {
540
+ authProviders[name] = config;
541
+ },
542
+ remove (name) {
543
+ delete authProviders[name];
544
+ },
545
+ /**
546
+ * @internal
547
+ */ async run ({ provider, accessToken, query, providers }) {
548
+ const authProvider = authProviders[provider];
549
+ assert(authProvider, 'Unknown auth provider');
550
+ return authProvider.authCallback({
551
+ accessToken,
552
+ query,
553
+ providers,
554
+ purest
555
+ });
556
+ }
557
+ };
558
+ };
559
+ return providersRegistry;
560
+ }
561
+
562
+ exports.__require = requireProvidersRegistry;
563
+ //# sourceMappingURL=providers-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers-registry.js","sources":["../../../server/services/providers-registry.js"],"sourcesContent":["'use strict';\n\nconst { strict: assert } = require('assert');\nconst jwt = require('jsonwebtoken');\nconst urljoin = require('url-join');\nconst jwkToPem = require('jwk-to-pem');\n\nconst getCognitoPayload = async ({ idToken, jwksUrl, purest }) => {\n const {\n header: { kid },\n payload,\n } = jwt.decode(idToken, { complete: true });\n\n if (!payload || !kid) {\n throw new Error('The provided token is not valid');\n }\n\n const config = {\n cognito: {\n discovery: {\n origin: jwksUrl.origin,\n path: jwksUrl.pathname,\n },\n },\n };\n try {\n const cognito = purest({ provider: 'cognito', config });\n // get the JSON Web Key (JWK) for the user pool\n const { body: jwk } = await cognito('discovery').request();\n // Get the key with the same Key ID as the provided token\n const key = jwk.keys.find(({ kid: jwkKid }) => jwkKid === kid);\n const pem = jwkToPem(key);\n\n // https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html\n const decodedToken = await new Promise((resolve, reject) => {\n jwt.verify(idToken, pem, { algorithms: ['RS256'] }, (err, decodedToken) => {\n if (err) {\n reject();\n }\n resolve(decodedToken);\n });\n });\n return decodedToken;\n } catch (err) {\n throw new Error('There was an error verifying the token');\n }\n};\n\nconst initProviders = ({ baseURL, purest }) => ({\n email: {\n enabled: true,\n icon: 'envelope',\n grantConfig: {},\n },\n discord: {\n enabled: false,\n icon: 'discord',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/discord/callback`,\n scope: ['identify', 'email'],\n },\n async authCallback({ accessToken }) {\n const discord = purest({ provider: 'discord' });\n\n return discord\n .get('users/@me')\n .auth(accessToken)\n .request()\n .then(({ body }) => {\n // Combine username and discriminator (if discriminator exists and not equal to 0)\n const username =\n body.discriminator && body.discriminator !== '0'\n ? `${body.username}#${body.discriminator}`\n : body.username;\n return {\n username,\n email: body.email,\n };\n });\n },\n },\n facebook: {\n enabled: false,\n icon: 'facebook-square',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/facebook/callback`,\n scope: ['email'],\n },\n async authCallback({ accessToken }) {\n const facebook = purest({ provider: 'facebook' });\n\n return facebook\n .get('me')\n .auth(accessToken)\n .qs({ fields: 'name,email' })\n .request()\n .then(({ body }) => ({\n username: body.name,\n email: body.email,\n }));\n },\n },\n google: {\n enabled: false,\n icon: 'google',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/google/callback`,\n scope: ['email'],\n },\n async authCallback({ accessToken }) {\n const google = purest({ provider: 'google' });\n\n return google\n .query('oauth')\n .get('tokeninfo')\n .qs({ accessToken })\n .request()\n .then(({ body }) => ({\n username: body.email.split('@')[0],\n email: body.email,\n }));\n },\n },\n github: {\n enabled: false,\n icon: 'github',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/github/callback`,\n scope: ['user', 'user:email'],\n },\n async authCallback({ accessToken }) {\n const github = purest({\n provider: 'github',\n defaults: {\n headers: {\n 'user-agent': 'strapi',\n },\n },\n });\n\n const { body: userBody } = await github.get('user').auth(accessToken).request();\n\n // This is the public email on the github profile\n if (userBody.email) {\n return {\n username: userBody.login,\n email: userBody.email,\n };\n }\n // Get the email with Github's user/emails API\n const { body: emailBody } = await github.get('user/emails').auth(accessToken).request();\n\n return {\n username: userBody.login,\n email: Array.isArray(emailBody)\n ? emailBody.find((email) => email.primary === true).email\n : null,\n };\n },\n },\n microsoft: {\n enabled: false,\n icon: 'windows',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/microsoft/callback`,\n scope: ['user.read'],\n },\n async authCallback({ accessToken }) {\n const microsoft = purest({ provider: 'microsoft' });\n\n return microsoft\n .get('me')\n .auth(accessToken)\n .request()\n .then(({ body }) => ({\n username: body.userPrincipalName,\n email: body.userPrincipalName,\n }));\n },\n },\n\n twitter: {\n enabled: false,\n icon: 'twitter',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/twitter/callback`,\n },\n async authCallback({ accessToken, query, providers }) {\n const twitter = purest({\n provider: 'twitter',\n defaults: {\n oauth: {\n consumer_key: providers.twitter.key,\n consumer_secret: providers.twitter.secret,\n },\n },\n });\n\n return twitter\n .get('account/verify_credentials')\n .auth(accessToken, query.access_secret)\n .qs({ screen_name: query['raw[screen_name]'], include_email: 'true' })\n .request()\n .then(({ body }) => ({\n username: body.screen_name,\n email: body.email,\n }));\n },\n },\n instagram: {\n enabled: false,\n icon: 'instagram',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/instagram/callback`,\n scope: ['user_profile'],\n },\n async authCallback({ accessToken }) {\n const instagram = purest({ provider: 'instagram' });\n\n return instagram\n .get('me')\n .auth(accessToken)\n .qs({ fields: 'id,username' })\n .request()\n .then(({ body }) => ({\n username: body.username,\n email: `${body.username}@strapi.io`, // dummy email as Instagram does not provide user email\n }));\n },\n },\n vk: {\n enabled: false,\n icon: 'vk',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/vk/callback`,\n scope: ['email'],\n },\n async authCallback({ accessToken, query }) {\n const vk = purest({ provider: 'vk' });\n\n return vk\n .get('users')\n .auth(accessToken)\n .qs({ id: query.raw.user_id, v: '5.122' })\n .request()\n .then(({ body }) => ({\n username: `${body.response[0].last_name} ${body.response[0].first_name}`,\n email: query.raw.email,\n }));\n },\n },\n\n twitch: {\n enabled: false,\n icon: 'twitch',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/twitch/callback`,\n scope: ['user:read:email'],\n },\n async authCallback({ accessToken, providers }) {\n const twitch = purest({\n provider: 'twitch',\n config: {\n twitch: {\n default: {\n origin: 'https://api.twitch.tv',\n path: 'helix/{path}',\n headers: {\n Authorization: 'Bearer {auth}',\n 'Client-Id': '{auth}',\n },\n },\n },\n },\n });\n\n return twitch\n .get('users')\n .auth(accessToken, providers.twitch.key)\n .request()\n .then(({ body }) => ({\n username: body.data[0].login,\n email: body.data[0].email,\n }));\n },\n },\n\n linkedin: {\n enabled: false,\n icon: 'linkedin',\n grantConfig: {\n key: '',\n secret: '',\n callbackUrl: `${baseURL}/linkedin/callback`,\n scope: ['r_liteprofile', 'r_emailaddress'],\n },\n async authCallback({ accessToken }) {\n const linkedIn = purest({ provider: 'linkedin' });\n const {\n body: { localizedFirstName },\n } = await linkedIn.get('me').auth(accessToken).request();\n const {\n body: { elements },\n } = await linkedIn\n .get('emailAddress?q=members&projection=(elements*(handle~))')\n .auth(accessToken)\n .request();\n\n const email = elements[0]['handle~'];\n\n return {\n username: localizedFirstName,\n email: email.emailAddress,\n };\n },\n },\n\n cognito: {\n enabled: false,\n icon: 'aws',\n grantConfig: {\n key: '',\n secret: '',\n subdomain: 'my.subdomain.com',\n callback: `${baseURL}/cognito/callback`,\n scope: ['email', 'openid', 'profile'],\n },\n async authCallback({ query, providers }) {\n const jwksUrl = new URL(providers.cognito.jwksurl);\n const idToken = query.id_token;\n const tokenPayload = await getCognitoPayload({ idToken, jwksUrl, purest });\n return {\n username: tokenPayload['cognito:username'],\n email: tokenPayload.email,\n };\n },\n },\n\n reddit: {\n enabled: false,\n icon: 'reddit',\n grantConfig: {\n key: '',\n secret: '',\n callback: `${baseURL}/reddit/callback`,\n scope: ['identity'],\n },\n async authCallback({ accessToken }) {\n const reddit = purest({\n provider: 'reddit',\n config: {\n reddit: {\n default: {\n origin: 'https://oauth.reddit.com',\n path: 'api/{version}/{path}',\n version: 'v1',\n headers: {\n Authorization: 'Bearer {auth}',\n 'user-agent': 'strapi',\n },\n },\n },\n },\n });\n\n return reddit\n .get('me')\n .auth(accessToken)\n .request()\n .then(({ body }) => ({\n username: body.name,\n email: `${body.name}@strapi.io`, // dummy email as Reddit does not provide user email\n }));\n },\n },\n\n auth0: {\n enabled: false,\n icon: '',\n grantConfig: {\n key: '',\n secret: '',\n subdomain: 'my-tenant.eu',\n callback: `${baseURL}/auth0/callback`,\n scope: ['openid', 'email', 'profile'],\n },\n async authCallback({ accessToken, providers }) {\n const auth0 = purest({ provider: 'auth0' });\n\n return auth0\n .get('userinfo')\n .subdomain(providers.auth0.subdomain)\n .auth(accessToken)\n .request()\n .then(({ body }) => {\n const username = body.username || body.nickname || body.name || body.email.split('@')[0];\n const email = body.email || `${username.replace(/\\s+/g, '.')}@strapi.io`;\n\n return {\n username,\n email,\n };\n });\n },\n },\n\n cas: {\n enabled: false,\n icon: 'book',\n grantConfig: {\n key: '',\n secret: '',\n callback: `${baseURL}/cas/callback`,\n scope: ['openid email'], // scopes should be space delimited\n subdomain: 'my.subdomain.com/cas',\n },\n async authCallback({ accessToken, providers }) {\n const cas = purest({ provider: 'cas' });\n\n return cas\n .get('oidc/profile')\n .subdomain(providers.cas.subdomain)\n .auth(accessToken)\n .request()\n .then(({ body }) => {\n // CAS attribute may be in body.attributes or \"FLAT\", depending on CAS config\n const username = body.attributes\n ? body.attributes.strapiusername || body.id || body.sub\n : body.strapiusername || body.id || body.sub;\n const email = body.attributes\n ? body.attributes.strapiemail || body.attributes.email\n : body.strapiemail || body.email;\n if (!username || !email) {\n strapi.log.warn(\n `CAS Response Body did not contain required attributes: ${JSON.stringify(body)}`\n );\n }\n return {\n username,\n email,\n };\n });\n },\n },\n\n patreon: {\n enabled: false,\n icon: '',\n grantConfig: {\n key: '',\n secret: '',\n callback: `${baseURL}/patreon/callback`,\n scope: ['identity', 'identity[email]'],\n },\n async authCallback({ accessToken }) {\n const patreon = purest({\n provider: 'patreon',\n config: {\n patreon: {\n default: {\n origin: 'https://www.patreon.com',\n path: 'api/oauth2/{path}',\n headers: {\n authorization: 'Bearer {auth}',\n },\n },\n },\n },\n });\n\n return patreon\n .get('v2/identity')\n .auth(accessToken)\n .qs(new URLSearchParams({ 'fields[user]': 'full_name,email' }).toString())\n .request()\n .then(({ body }) => {\n const patreonData = body.data.attributes;\n return {\n username: patreonData.full_name,\n email: patreonData.email,\n };\n });\n },\n },\n keycloak: {\n enabled: false,\n icon: '',\n grantConfig: {\n key: '',\n secret: '',\n subdomain: 'myKeycloakProvider.com/realms/myrealm',\n callback: `${baseURL}/keycloak/callback`,\n scope: ['openid', 'email', 'profile'],\n },\n async authCallback({ accessToken, providers }) {\n const keycloak = purest({ provider: 'keycloak' });\n\n return keycloak\n .subdomain(providers.keycloak.subdomain)\n .get('protocol/openid-connect/userinfo')\n .auth(accessToken)\n .request()\n .then(({ body }) => {\n return {\n username: body.preferred_username,\n email: body.email,\n };\n });\n },\n },\n});\n\nmodule.exports = () => {\n const purest = require('purest');\n\n const apiPrefix = strapi.config.get('api.rest.prefix');\n const baseURL = urljoin(strapi.config.server.url, apiPrefix, 'auth');\n\n const authProviders = initProviders({ baseURL, purest });\n\n /**\n * @public\n */\n return {\n getAll() {\n return authProviders;\n },\n get(name) {\n return authProviders[name];\n },\n add(name, config) {\n authProviders[name] = config;\n },\n remove(name) {\n delete authProviders[name];\n },\n\n /**\n * @internal\n */\n async run({ provider, accessToken, query, providers }) {\n const authProvider = authProviders[provider];\n\n assert(authProvider, 'Unknown auth provider');\n\n return authProvider.authCallback({ accessToken, query, providers, purest });\n },\n };\n};\n"],"names":["strict","assert","require$$0","jwt","require$$1","urljoin","require$$2","jwkToPem","require$$3","getCognitoPayload","idToken","jwksUrl","purest","header","kid","payload","decode","complete","Error","config","cognito","discovery","origin","path","pathname","provider","body","jwk","request","key","keys","find","jwkKid","pem","decodedToken","Promise","resolve","reject","verify","algorithms","err","initProviders","baseURL","email","enabled","icon","grantConfig","discord","secret","callbackUrl","scope","authCallback","accessToken","get","auth","then","username","discriminator","facebook","qs","fields","name","google","query","split","github","defaults","headers","userBody","login","emailBody","Array","isArray","primary","microsoft","userPrincipalName","twitter","providers","oauth","consumer_key","consumer_secret","access_secret","screen_name","include_email","instagram","vk","id","raw","user_id","v","response","last_name","first_name","twitch","default","Authorization","data","linkedin","linkedIn","localizedFirstName","elements","emailAddress","subdomain","callback","URL","jwksurl","id_token","tokenPayload","reddit","version","auth0","nickname","replace","cas","attributes","strapiusername","sub","strapiemail","strapi","log","warn","JSON","stringify","patreon","authorization","URLSearchParams","toString","patreonData","full_name","keycloak","preferred_username","providersRegistry","require$$4","apiPrefix","server","url","authProviders","getAll","add","remove","run","authProvider"],"mappings":"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"}