@strapi/plugin-users-permissions 0.0.0-experimental.6340da17068c3bed7fb006e7bcc554c71129e282 → 0.0.0-experimental.63624e21eb5b0713345a0cf2f68f1c40eab427bc

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 (371) hide show
  1. package/.eslintrc.cjs +2 -0
  2. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +3 -1
  3. package/admin/src/pages/Roles/pages/EditPage.jsx +1 -1
  4. package/admin/src/pages/Roles/pages/ListPage/index.jsx +1 -1
  5. package/admin/src/translations/en.json +1 -0
  6. package/admin/src/translations/es.json +1 -1
  7. package/admin/src/translations/ko.json +2 -1
  8. package/admin/src/translations/sv.json +1 -1
  9. package/admin/src/translations/uk.json +1 -1
  10. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +2 -1
  11. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -1
  12. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +2 -1
  13. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -1
  14. package/dist/admin/pages/Roles/pages/EditPage.js +1 -1
  15. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
  16. package/dist/admin/pages/Roles/pages/EditPage.mjs +1 -1
  17. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -1
  18. package/dist/admin/pages/Roles/pages/ListPage/index.js +1 -1
  19. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -1
  20. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +1 -1
  21. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -1
  22. package/dist/admin/translations/en.json.js +1 -0
  23. package/dist/admin/translations/en.json.js.map +1 -1
  24. package/dist/admin/translations/en.json.mjs +1 -0
  25. package/dist/admin/translations/en.json.mjs.map +1 -1
  26. package/dist/admin/translations/es.json.js +1 -1
  27. package/dist/admin/translations/es.json.mjs +1 -1
  28. package/dist/admin/translations/ko.json.js +2 -1
  29. package/dist/admin/translations/ko.json.js.map +1 -1
  30. package/dist/admin/translations/ko.json.mjs +2 -1
  31. package/dist/admin/translations/ko.json.mjs.map +1 -1
  32. package/dist/admin/translations/sv.json.js +1 -1
  33. package/dist/admin/translations/sv.json.mjs +1 -1
  34. package/dist/admin/translations/uk.json.js +1 -1
  35. package/dist/admin/translations/uk.json.mjs +1 -1
  36. package/dist/server/_virtual/_node_crypto.js +10 -0
  37. package/dist/server/_virtual/_node_crypto.js.map +1 -0
  38. package/dist/server/_virtual/_node_crypto.mjs +7 -0
  39. package/dist/server/_virtual/_node_crypto.mjs.map +1 -0
  40. package/dist/server/_virtual/_node_url.js +10 -0
  41. package/dist/server/_virtual/_node_url.js.map +1 -0
  42. package/dist/server/_virtual/_node_url.mjs +7 -0
  43. package/dist/server/_virtual/_node_url.mjs.map +1 -0
  44. package/dist/server/bootstrap/index.js.map +1 -1
  45. package/dist/server/bootstrap/index.mjs.map +1 -1
  46. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -1
  47. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -1
  48. package/dist/server/config.js.map +1 -1
  49. package/dist/server/config.mjs.map +1 -1
  50. package/dist/server/content-types/index.js.map +1 -1
  51. package/dist/server/content-types/index.mjs.map +1 -1
  52. package/dist/server/content-types/permission/index.js.map +1 -1
  53. package/dist/server/content-types/permission/index.mjs.map +1 -1
  54. package/dist/server/content-types/role/index.js.map +1 -1
  55. package/dist/server/content-types/role/index.mjs.map +1 -1
  56. package/dist/server/content-types/user/index.js.map +1 -1
  57. package/dist/server/content-types/user/index.mjs.map +1 -1
  58. package/dist/server/content-types/user/schema-config.js.map +1 -1
  59. package/dist/server/content-types/user/schema-config.mjs.map +1 -1
  60. package/dist/server/controllers/auth.js +38 -30
  61. package/dist/server/controllers/auth.js.map +1 -1
  62. package/dist/server/controllers/auth.mjs +38 -28
  63. package/dist/server/controllers/auth.mjs.map +1 -1
  64. package/dist/server/controllers/content-manager-user.js.map +1 -1
  65. package/dist/server/controllers/content-manager-user.mjs.map +1 -1
  66. package/dist/server/controllers/index.js.map +1 -1
  67. package/dist/server/controllers/index.mjs.map +1 -1
  68. package/dist/server/controllers/permissions.js.map +1 -1
  69. package/dist/server/controllers/permissions.mjs.map +1 -1
  70. package/dist/server/controllers/role.js.map +1 -1
  71. package/dist/server/controllers/role.mjs.map +1 -1
  72. package/dist/server/controllers/settings.js.map +1 -1
  73. package/dist/server/controllers/settings.mjs.map +1 -1
  74. package/dist/server/controllers/user.js.map +1 -1
  75. package/dist/server/controllers/user.mjs.map +1 -1
  76. package/dist/server/controllers/validation/auth.js +6 -6
  77. package/dist/server/controllers/validation/auth.js.map +1 -1
  78. package/dist/server/controllers/validation/auth.mjs +6 -6
  79. package/dist/server/controllers/validation/auth.mjs.map +1 -1
  80. package/dist/server/controllers/validation/email-template.js +1 -4
  81. package/dist/server/controllers/validation/email-template.js.map +1 -1
  82. package/dist/server/controllers/validation/email-template.mjs +1 -3
  83. package/dist/server/controllers/validation/email-template.mjs.map +1 -1
  84. package/dist/server/controllers/validation/user.js.map +1 -1
  85. package/dist/server/controllers/validation/user.mjs.map +1 -1
  86. package/dist/server/graphql/index.js.map +1 -1
  87. package/dist/server/graphql/index.mjs.map +1 -1
  88. package/dist/server/graphql/mutations/auth/change-password.js +7 -4
  89. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -1
  90. package/dist/server/graphql/mutations/auth/change-password.mjs +7 -4
  91. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -1
  92. package/dist/server/graphql/mutations/auth/email-confirmation.js +1 -1
  93. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -1
  94. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +1 -1
  95. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -1
  96. package/dist/server/graphql/mutations/auth/forgot-password.js +7 -4
  97. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -1
  98. package/dist/server/graphql/mutations/auth/forgot-password.mjs +7 -4
  99. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -1
  100. package/dist/server/graphql/mutations/auth/login.js +10 -7
  101. package/dist/server/graphql/mutations/auth/login.js.map +1 -1
  102. package/dist/server/graphql/mutations/auth/login.mjs +10 -7
  103. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -1
  104. package/dist/server/graphql/mutations/auth/rate-limit.js +63 -0
  105. package/dist/server/graphql/mutations/auth/rate-limit.js.map +1 -0
  106. package/dist/server/graphql/mutations/auth/rate-limit.mjs +61 -0
  107. package/dist/server/graphql/mutations/auth/rate-limit.mjs.map +1 -0
  108. package/dist/server/graphql/mutations/auth/register.js +7 -4
  109. package/dist/server/graphql/mutations/auth/register.js.map +1 -1
  110. package/dist/server/graphql/mutations/auth/register.mjs +7 -4
  111. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -1
  112. package/dist/server/graphql/mutations/auth/reset-password.js +7 -4
  113. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -1
  114. package/dist/server/graphql/mutations/auth/reset-password.mjs +7 -4
  115. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -1
  116. package/dist/server/graphql/mutations/crud/role/create-role.js +1 -1
  117. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -1
  118. package/dist/server/graphql/mutations/crud/role/create-role.mjs +1 -1
  119. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -1
  120. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -1
  121. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -1
  122. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -1
  123. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -1
  124. package/dist/server/graphql/mutations/crud/user/create-user.js +1 -1
  125. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -1
  126. package/dist/server/graphql/mutations/crud/user/create-user.mjs +1 -1
  127. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -1
  128. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -1
  129. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -1
  130. package/dist/server/graphql/mutations/crud/user/update-user.js +1 -1
  131. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -1
  132. package/dist/server/graphql/mutations/crud/user/update-user.mjs +1 -1
  133. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -1
  134. package/dist/server/graphql/mutations/index.js.map +1 -1
  135. package/dist/server/graphql/mutations/index.mjs.map +1 -1
  136. package/dist/server/graphql/queries/index.js.map +1 -1
  137. package/dist/server/graphql/queries/index.mjs.map +1 -1
  138. package/dist/server/graphql/queries/me.js.map +1 -1
  139. package/dist/server/graphql/queries/me.mjs.map +1 -1
  140. package/dist/server/graphql/resolvers-configs.js.map +1 -1
  141. package/dist/server/graphql/resolvers-configs.mjs.map +1 -1
  142. package/dist/server/graphql/types/create-role-payload.js.map +1 -1
  143. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -1
  144. package/dist/server/graphql/types/delete-role-payload.js.map +1 -1
  145. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -1
  146. package/dist/server/graphql/types/index.js.map +1 -1
  147. package/dist/server/graphql/types/index.mjs.map +1 -1
  148. package/dist/server/graphql/types/login-input.js.map +1 -1
  149. package/dist/server/graphql/types/login-input.mjs.map +1 -1
  150. package/dist/server/graphql/types/login-payload.js.map +1 -1
  151. package/dist/server/graphql/types/login-payload.mjs.map +1 -1
  152. package/dist/server/graphql/types/me-role.js.map +1 -1
  153. package/dist/server/graphql/types/me-role.mjs.map +1 -1
  154. package/dist/server/graphql/types/me.js.map +1 -1
  155. package/dist/server/graphql/types/me.mjs.map +1 -1
  156. package/dist/server/graphql/types/password-payload.js.map +1 -1
  157. package/dist/server/graphql/types/password-payload.mjs.map +1 -1
  158. package/dist/server/graphql/types/register-input.js.map +1 -1
  159. package/dist/server/graphql/types/register-input.mjs.map +1 -1
  160. package/dist/server/graphql/types/update-role-payload.js.map +1 -1
  161. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -1
  162. package/dist/server/graphql/types/user-input.js.map +1 -1
  163. package/dist/server/graphql/types/user-input.mjs.map +1 -1
  164. package/dist/server/graphql/utils.js +4 -4
  165. package/dist/server/graphql/utils.js.map +1 -1
  166. package/dist/server/graphql/utils.mjs +4 -4
  167. package/dist/server/graphql/utils.mjs.map +1 -1
  168. package/dist/server/index.js +2 -2
  169. package/dist/server/index.js.map +1 -1
  170. package/dist/server/index.mjs +3 -3
  171. package/dist/server/index.mjs.map +1 -1
  172. package/dist/server/index2.js +8 -8
  173. package/dist/server/index2.js.map +1 -1
  174. package/dist/server/index2.mjs +8 -8
  175. package/dist/server/index2.mjs.map +1 -1
  176. package/dist/server/middlewares/index.js.map +1 -1
  177. package/dist/server/middlewares/index.mjs.map +1 -1
  178. package/dist/server/middlewares/rateLimit.js +5 -5
  179. package/dist/server/middlewares/rateLimit.js.map +1 -1
  180. package/dist/server/middlewares/rateLimit.mjs +5 -5
  181. package/dist/server/middlewares/rateLimit.mjs.map +1 -1
  182. package/dist/server/register.js.map +1 -1
  183. package/dist/server/register.mjs.map +1 -1
  184. package/dist/server/routes/admin/index.js.map +1 -1
  185. package/dist/server/routes/admin/index.mjs.map +1 -1
  186. package/dist/server/routes/admin/permissions.js.map +1 -1
  187. package/dist/server/routes/admin/permissions.mjs.map +1 -1
  188. package/dist/server/routes/admin/role.js.map +1 -1
  189. package/dist/server/routes/admin/role.mjs.map +1 -1
  190. package/dist/server/routes/admin/settings.js.map +1 -1
  191. package/dist/server/routes/admin/settings.mjs.map +1 -1
  192. package/dist/server/routes/content-api/auth.js.map +1 -1
  193. package/dist/server/routes/content-api/auth.mjs.map +1 -1
  194. package/dist/server/routes/content-api/index.js.map +1 -1
  195. package/dist/server/routes/content-api/index.mjs.map +1 -1
  196. package/dist/server/routes/content-api/permissions.js.map +1 -1
  197. package/dist/server/routes/content-api/permissions.mjs.map +1 -1
  198. package/dist/server/routes/content-api/role.js.map +1 -1
  199. package/dist/server/routes/content-api/role.mjs.map +1 -1
  200. package/dist/server/routes/content-api/user.js.map +1 -1
  201. package/dist/server/routes/content-api/user.mjs.map +1 -1
  202. package/dist/server/routes/content-api/validation.js.map +1 -1
  203. package/dist/server/routes/content-api/validation.mjs.map +1 -1
  204. package/dist/server/routes/index.js.map +1 -1
  205. package/dist/server/routes/index.mjs.map +1 -1
  206. package/dist/server/services/constants.js.map +1 -1
  207. package/dist/server/services/constants.mjs.map +1 -1
  208. package/dist/server/services/index.js.map +1 -1
  209. package/dist/server/services/index.mjs.map +1 -1
  210. package/dist/server/services/jwt.js.map +1 -1
  211. package/dist/server/services/jwt.mjs.map +1 -1
  212. package/dist/server/services/permission.js.map +1 -1
  213. package/dist/server/services/permission.mjs.map +1 -1
  214. package/dist/server/services/providers-registry.js +188 -248
  215. package/dist/server/services/providers-registry.js.map +1 -1
  216. package/dist/server/services/providers-registry.mjs +188 -245
  217. package/dist/server/services/providers-registry.mjs.map +1 -1
  218. package/dist/server/services/providers.js +15 -11
  219. package/dist/server/services/providers.js.map +1 -1
  220. package/dist/server/services/providers.mjs +14 -10
  221. package/dist/server/services/providers.mjs.map +1 -1
  222. package/dist/server/services/role.js +2 -2
  223. package/dist/server/services/role.js.map +1 -1
  224. package/dist/server/services/role.mjs +2 -2
  225. package/dist/server/services/role.mjs.map +1 -1
  226. package/dist/server/services/user.js +14 -14
  227. package/dist/server/services/user.js.map +1 -1
  228. package/dist/server/services/user.mjs +13 -13
  229. package/dist/server/services/user.mjs.map +1 -1
  230. package/dist/server/services/users-permissions.js +17 -20
  231. package/dist/server/services/users-permissions.js.map +1 -1
  232. package/dist/server/services/users-permissions.mjs +16 -18
  233. package/dist/server/services/users-permissions.mjs.map +1 -1
  234. package/dist/server/strategies/users-permissions.js +9 -8
  235. package/dist/server/strategies/users-permissions.js.map +1 -1
  236. package/dist/server/strategies/users-permissions.mjs +9 -8
  237. package/dist/server/strategies/users-permissions.mjs.map +1 -1
  238. package/dist/server/utils/index.js.map +1 -1
  239. package/dist/server/utils/index.mjs.map +1 -1
  240. package/dist/server/utils/oauth-connect/index.js +241 -0
  241. package/dist/server/utils/oauth-connect/index.js.map +1 -0
  242. package/dist/server/utils/oauth-connect/index.mjs +235 -0
  243. package/dist/server/utils/oauth-connect/index.mjs.map +1 -0
  244. package/dist/server/utils/oauth-connect/oauth1.js +138 -0
  245. package/dist/server/utils/oauth-connect/oauth1.js.map +1 -0
  246. package/dist/server/utils/oauth-connect/oauth1.mjs +136 -0
  247. package/dist/server/utils/oauth-connect/oauth1.mjs.map +1 -0
  248. package/dist/server/utils/oauth-connect/oauth2.js +117 -0
  249. package/dist/server/utils/oauth-connect/oauth2.js.map +1 -0
  250. package/dist/server/utils/oauth-connect/oauth2.mjs +115 -0
  251. package/dist/server/utils/oauth-connect/oauth2.mjs.map +1 -0
  252. package/dist/server/utils/oauth-connect/providers.js +109 -0
  253. package/dist/server/utils/oauth-connect/providers.js.map +1 -0
  254. package/dist/server/utils/oauth-connect/providers.mjs +107 -0
  255. package/dist/server/utils/oauth-connect/providers.mjs.map +1 -0
  256. package/dist/server/utils/provider-http.js +52 -0
  257. package/dist/server/utils/provider-http.js.map +1 -0
  258. package/dist/server/utils/provider-http.mjs +50 -0
  259. package/dist/server/utils/provider-http.mjs.map +1 -0
  260. package/dist/server/utils/refresh-cookie-options.js.map +1 -1
  261. package/dist/server/utils/refresh-cookie-options.mjs.map +1 -1
  262. package/dist/server/utils/sanitize/index.js.map +1 -1
  263. package/dist/server/utils/sanitize/index.mjs.map +1 -1
  264. package/dist/server/utils/sanitize/sanitizers.js +1 -1
  265. package/dist/server/utils/sanitize/sanitizers.js.map +1 -1
  266. package/dist/server/utils/sanitize/sanitizers.mjs +1 -1
  267. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -1
  268. package/dist/server/utils/sanitize/visitors/index.js.map +1 -1
  269. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -1
  270. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -1
  271. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -1
  272. package/dist/server/utils/trim-grant-session-response.js +67 -0
  273. package/dist/server/utils/trim-grant-session-response.js.map +1 -0
  274. package/dist/server/utils/trim-grant-session-response.mjs +65 -0
  275. package/dist/server/utils/trim-grant-session-response.mjs.map +1 -0
  276. package/dist/server/utils/verify-jwt-with-jwks.js +60 -0
  277. package/dist/server/utils/verify-jwt-with-jwks.js.map +1 -0
  278. package/dist/server/utils/verify-jwt-with-jwks.mjs +54 -0
  279. package/dist/server/utils/verify-jwt-with-jwks.mjs.map +1 -0
  280. package/jsconfig.json +7 -0
  281. package/package.json +28 -18
  282. package/rollup.config.mjs +2 -2
  283. package/server/{controllers → src/controllers}/auth.js +36 -29
  284. package/server/{controllers → src/controllers}/validation/auth.js +6 -6
  285. package/server/{controllers → src/controllers}/validation/email-template.js +1 -2
  286. package/server/{graphql → src/graphql}/mutations/auth/change-password.js +6 -6
  287. package/server/{graphql → src/graphql}/mutations/auth/email-confirmation.js +1 -1
  288. package/server/{graphql → src/graphql}/mutations/auth/forgot-password.js +6 -6
  289. package/server/{graphql → src/graphql}/mutations/auth/login.js +11 -7
  290. package/server/src/graphql/mutations/auth/rate-limit.js +62 -0
  291. package/server/{graphql → src/graphql}/mutations/auth/register.js +6 -6
  292. package/server/{graphql → src/graphql}/mutations/auth/reset-password.js +6 -6
  293. package/server/{graphql → src/graphql}/mutations/crud/role/create-role.js +1 -1
  294. package/server/{graphql → src/graphql}/mutations/crud/user/create-user.js +1 -1
  295. package/server/{graphql → src/graphql}/mutations/crud/user/update-user.js +1 -1
  296. package/server/{graphql → src/graphql}/utils.js +3 -3
  297. package/server/{middlewares → src/middlewares}/rateLimit.js +4 -4
  298. package/server/src/services/providers-registry.js +487 -0
  299. package/server/{services → src/services}/providers.js +9 -7
  300. package/server/{services → src/services}/role.js +2 -2
  301. package/server/{services → src/services}/user.js +16 -6
  302. package/server/{services → src/services}/users-permissions.js +14 -16
  303. package/server/{strategies → src/strategies}/users-permissions.js +14 -10
  304. package/server/src/utils/oauth-connect/index.js +262 -0
  305. package/server/src/utils/oauth-connect/oauth1.js +169 -0
  306. package/server/src/utils/oauth-connect/oauth2.js +123 -0
  307. package/server/src/utils/oauth-connect/providers.js +100 -0
  308. package/server/src/utils/provider-http.js +49 -0
  309. package/server/{utils → src/utils}/sanitize/sanitizers.js +1 -1
  310. package/server/src/utils/trim-grant-session-response.js +70 -0
  311. package/server/src/utils/verify-jwt-with-jwks.js +43 -0
  312. package/types/strapi-server.d.ts +65 -0
  313. package/server/services/providers-registry.js +0 -567
  314. package/server/utils/index.d.ts +0 -23
  315. /package/server/{bootstrap → src/bootstrap}/index.js +0 -0
  316. /package/server/{bootstrap → src/bootstrap}/users-permissions-actions.js +0 -0
  317. /package/server/{config.js → src/config.js} +0 -0
  318. /package/server/{content-types → src/content-types}/index.js +0 -0
  319. /package/server/{content-types → src/content-types}/permission/index.js +0 -0
  320. /package/server/{content-types → src/content-types}/role/index.js +0 -0
  321. /package/server/{content-types → src/content-types}/user/index.js +0 -0
  322. /package/server/{content-types → src/content-types}/user/schema-config.js +0 -0
  323. /package/server/{controllers → src/controllers}/content-manager-user.js +0 -0
  324. /package/server/{controllers → src/controllers}/index.js +0 -0
  325. /package/server/{controllers → src/controllers}/permissions.js +0 -0
  326. /package/server/{controllers → src/controllers}/role.js +0 -0
  327. /package/server/{controllers → src/controllers}/settings.js +0 -0
  328. /package/server/{controllers → src/controllers}/user.js +0 -0
  329. /package/server/{controllers → src/controllers}/validation/user.js +0 -0
  330. /package/server/{graphql → src/graphql}/index.js +0 -0
  331. /package/server/{graphql → src/graphql}/mutations/crud/role/delete-role.js +0 -0
  332. /package/server/{graphql → src/graphql}/mutations/crud/role/update-role.js +0 -0
  333. /package/server/{graphql → src/graphql}/mutations/crud/user/delete-user.js +0 -0
  334. /package/server/{graphql → src/graphql}/mutations/index.js +0 -0
  335. /package/server/{graphql → src/graphql}/queries/index.js +0 -0
  336. /package/server/{graphql → src/graphql}/queries/me.js +0 -0
  337. /package/server/{graphql → src/graphql}/resolvers-configs.js +0 -0
  338. /package/server/{graphql → src/graphql}/types/create-role-payload.js +0 -0
  339. /package/server/{graphql → src/graphql}/types/delete-role-payload.js +0 -0
  340. /package/server/{graphql → src/graphql}/types/index.js +0 -0
  341. /package/server/{graphql → src/graphql}/types/login-input.js +0 -0
  342. /package/server/{graphql → src/graphql}/types/login-payload.js +0 -0
  343. /package/server/{graphql → src/graphql}/types/me-role.js +0 -0
  344. /package/server/{graphql → src/graphql}/types/me.js +0 -0
  345. /package/server/{graphql → src/graphql}/types/password-payload.js +0 -0
  346. /package/server/{graphql → src/graphql}/types/register-input.js +0 -0
  347. /package/server/{graphql → src/graphql}/types/update-role-payload.js +0 -0
  348. /package/server/{graphql → src/graphql}/types/user-input.js +0 -0
  349. /package/server/{index.js → src/index.js} +0 -0
  350. /package/server/{middlewares → src/middlewares}/index.js +0 -0
  351. /package/server/{register.js → src/register.js} +0 -0
  352. /package/server/{routes → src/routes}/admin/index.js +0 -0
  353. /package/server/{routes → src/routes}/admin/permissions.js +0 -0
  354. /package/server/{routes → src/routes}/admin/role.js +0 -0
  355. /package/server/{routes → src/routes}/admin/settings.js +0 -0
  356. /package/server/{routes → src/routes}/content-api/auth.js +0 -0
  357. /package/server/{routes → src/routes}/content-api/index.js +0 -0
  358. /package/server/{routes → src/routes}/content-api/permissions.js +0 -0
  359. /package/server/{routes → src/routes}/content-api/role.js +0 -0
  360. /package/server/{routes → src/routes}/content-api/user.js +0 -0
  361. /package/server/{routes → src/routes}/content-api/validation.js +0 -0
  362. /package/server/{routes → src/routes}/index.js +0 -0
  363. /package/server/{services → src/services}/constants.js +0 -0
  364. /package/server/{services → src/services}/index.js +0 -0
  365. /package/server/{services → src/services}/jwt.js +0 -0
  366. /package/server/{services → src/services}/permission.js +0 -0
  367. /package/server/{utils → src/utils}/index.js +0 -0
  368. /package/server/{utils → src/utils}/refresh-cookie-options.js +0 -0
  369. /package/server/{utils → src/utils}/sanitize/index.js +0 -0
  370. /package/server/{utils → src/utils}/sanitize/visitors/index.js +0 -0
  371. /package/server/{utils → src/utils}/sanitize/visitors/remove-user-relation-from-role-entities.js +0 -0
@@ -1,18 +1,15 @@
1
1
  'use strict';
2
2
 
3
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');
4
+ var require$$1 = require('url-join');
5
+ var verifyJwtWithJwks = require('../utils/verify-jwt-with-jwks.js');
6
+ var providerHttp = require('../utils/provider-http.js');
7
+ var oauth1 = require('../utils/oauth-connect/oauth1.js');
8
8
 
9
9
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
10
 
11
11
  var require$$0__default = /*#__PURE__*/_interopDefault(require$$0);
12
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
13
 
17
14
  var providersRegistry;
18
15
  var hasRequiredProvidersRegistry;
@@ -20,53 +17,10 @@ function requireProvidersRegistry() {
20
17
  if (hasRequiredProvidersRegistry) return providersRegistry;
21
18
  hasRequiredProvidersRegistry = 1;
22
19
  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 })=>({
20
+ const urljoin = require$$1__default.default;
21
+ const { verifyJwtWithJwks: verifyJwtWithJwks$1 } = verifyJwtWithJwks.__require();
22
+ const { bearerGet, fetchJson } = providerHttp.__require();
23
+ const initProviders = ({ baseURL })=>({
70
24
  email: {
71
25
  enabled: true,
72
26
  icon: 'envelope',
@@ -85,17 +39,15 @@ function requireProvidersRegistry() {
85
39
  ]
86
40
  },
87
41
  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
- });
42
+ const { body } = await bearerGet('https://discord.com/api/users/@me', accessToken);
43
+ if (body.verified !== true) {
44
+ throw new Error('Email not verified by Discord');
45
+ }
46
+ const username = body.discriminator && body.discriminator !== '0' ? `${body.username}#${body.discriminator}` : body.username;
47
+ return {
48
+ username,
49
+ email: body.email
50
+ };
99
51
  }
100
52
  },
101
53
  facebook: {
@@ -110,15 +62,18 @@ function requireProvidersRegistry() {
110
62
  ]
111
63
  },
112
64
  async authCallback ({ accessToken }) {
113
- const facebook = purest({
114
- provider: 'facebook'
65
+ const { body } = await bearerGet('https://graph.facebook.com/me', accessToken, {
66
+ qs: {
67
+ fields: 'name,email'
68
+ }
115
69
  });
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
- }));
70
+ if (!body.email) {
71
+ throw new Error('Email not verified by Facebook');
72
+ }
73
+ return {
74
+ username: body.name,
75
+ email: body.email
76
+ };
122
77
  }
123
78
  },
124
79
  google: {
@@ -133,15 +88,15 @@ function requireProvidersRegistry() {
133
88
  ]
134
89
  },
135
90
  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
- }));
91
+ const { body } = await fetchJson(`https://oauth2.googleapis.com/tokeninfo?access_token=${encodeURIComponent(accessToken)}`);
92
+ const verified = body.verified_email ?? body.email_verified;
93
+ if (verified !== true && verified !== 'true') {
94
+ throw new Error('Email not verified by Google');
95
+ }
96
+ return {
97
+ username: body.email.split('@')[0],
98
+ email: body.email
99
+ };
145
100
  }
146
101
  },
147
102
  github: {
@@ -157,27 +112,33 @@ function requireProvidersRegistry() {
157
112
  ]
158
113
  },
159
114
  async authCallback ({ accessToken }) {
160
- const github = purest({
161
- provider: 'github',
162
- defaults: {
163
- headers: {
164
- 'user-agent': 'strapi'
165
- }
115
+ const { body: userBody } = await bearerGet('https://api.github.com/user', accessToken, {
116
+ headers: {
117
+ 'user-agent': 'strapi'
118
+ }
119
+ });
120
+ const { body: emailBody } = await bearerGet('https://api.github.com/user/emails', accessToken, {
121
+ headers: {
122
+ 'user-agent': 'strapi'
166
123
  }
167
124
  });
168
- const { body: userBody } = await github.get('user').auth(accessToken).request();
169
- // This is the public email on the github profile
170
125
  if (userBody.email) {
126
+ const verifiedPublicEmail = Array.isArray(emailBody) ? emailBody.find((entry)=>entry.email === userBody.email && entry.verified === true) : null;
127
+ if (!verifiedPublicEmail) {
128
+ throw new Error('Email not verified by GitHub');
129
+ }
171
130
  return {
172
131
  username: userBody.login,
173
132
  email: userBody.email
174
133
  };
175
134
  }
176
- // Get the email with Github's user/emails API
177
- const { body: emailBody } = await github.get('user/emails').auth(accessToken).request();
135
+ const primaryEmail = Array.isArray(emailBody) ? emailBody.find((email)=>email.primary === true) : null;
136
+ if (!primaryEmail || primaryEmail.verified !== true) {
137
+ throw new Error('Email not verified by GitHub');
138
+ }
178
139
  return {
179
140
  username: userBody.login,
180
- email: Array.isArray(emailBody) ? emailBody.find((email)=>email.primary === true).email : null
141
+ email: primaryEmail.email
181
142
  };
182
143
  }
183
144
  },
@@ -193,13 +154,11 @@ function requireProvidersRegistry() {
193
154
  ]
194
155
  },
195
156
  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
- }));
157
+ const { body } = await bearerGet('https://graph.microsoft.com/v1.0/me', accessToken);
158
+ return {
159
+ username: body.userPrincipalName,
160
+ email: body.userPrincipalName
161
+ };
203
162
  }
204
163
  },
205
164
  twitter: {
@@ -210,23 +169,31 @@ function requireProvidersRegistry() {
210
169
  secret: '',
211
170
  callbackUrl: `${baseURL}/twitter/callback`
212
171
  },
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
- }
172
+ async authCallback ({ accessToken, providers, grantResponse }) {
173
+ const accessSecret = grantResponse?.access_secret;
174
+ const screenName = grantResponse?.raw?.screen_name;
175
+ if (!accessSecret) {
176
+ throw new Error('Twitter authentication requires a completed OAuth session');
177
+ }
178
+ const { twitterGet } = oauth1.__require();
179
+ const { body } = await twitterGet({
180
+ url: 'https://api.twitter.com/1.1/account/verify_credentials.json',
181
+ accessToken,
182
+ accessCredential: accessSecret,
183
+ consumerKey: providers.twitter.key,
184
+ clientCredential: providers.twitter.secret,
185
+ qs: {
186
+ include_email: 'true',
187
+ screen_name: screenName
221
188
  }
222
189
  });
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
- }));
190
+ if (!body.email) {
191
+ throw new Error('Email not verified by Twitter');
192
+ }
193
+ return {
194
+ username: body.screen_name,
195
+ email: body.email
196
+ };
230
197
  }
231
198
  },
232
199
  instagram: {
@@ -241,15 +208,15 @@ function requireProvidersRegistry() {
241
208
  ]
242
209
  },
243
210
  async authCallback ({ accessToken }) {
244
- const instagram = purest({
245
- provider: 'instagram'
211
+ const { body } = await bearerGet('https://graph.instagram.com/me', accessToken, {
212
+ qs: {
213
+ fields: 'id,username'
214
+ }
246
215
  });
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
- }));
216
+ return {
217
+ username: body.username,
218
+ email: `${body.username}@strapi.io`
219
+ };
253
220
  }
254
221
  },
255
222
  vk: {
@@ -263,17 +230,25 @@ function requireProvidersRegistry() {
263
230
  'email'
264
231
  ]
265
232
  },
266
- async authCallback ({ accessToken, query }) {
267
- const vk = purest({
268
- provider: 'vk'
233
+ async authCallback ({ accessToken, grantResponse }) {
234
+ const email = grantResponse?.raw?.email;
235
+ const userId = grantResponse?.raw?.user_id;
236
+ if (!email || !userId) {
237
+ throw new Error('VK authentication requires a completed OAuth session');
238
+ }
239
+ const { body } = await bearerGet('https://api.vk.com/method/users.get', accessToken, {
240
+ qs: {
241
+ user_ids: userId,
242
+ v: '5.122'
243
+ }
269
244
  });
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
- }));
245
+ if (!body.response?.[0]) {
246
+ throw new Error('Invalid VK access token');
247
+ }
248
+ return {
249
+ username: `${body.response[0].last_name} ${body.response[0].first_name}`,
250
+ email
251
+ };
277
252
  }
278
253
  },
279
254
  twitch: {
@@ -288,25 +263,19 @@ function requireProvidersRegistry() {
288
263
  ]
289
264
  },
290
265
  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
- }
266
+ const { body } = await bearerGet('https://api.twitch.tv/helix/users', accessToken, {
267
+ headers: {
268
+ 'Client-Id': providers.twitch.key
304
269
  }
305
270
  });
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
- }));
271
+ const email = body.data?.[0]?.email;
272
+ if (!email) {
273
+ throw new Error('Email not verified by Twitch');
274
+ }
275
+ return {
276
+ username: body.data[0].login,
277
+ email
278
+ };
310
279
  }
311
280
  },
312
281
  linkedin: {
@@ -322,14 +291,14 @@ function requireProvidersRegistry() {
322
291
  ]
323
292
  },
324
293
  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~'];
294
+ const { body: profileBody } = await bearerGet('https://api.linkedin.com/v2/me', accessToken);
295
+ const { body: emailBody } = await bearerGet('https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))', accessToken);
296
+ const email = emailBody.elements[0]?.['handle~'];
297
+ if (!email?.emailAddress) {
298
+ throw new Error('Email not verified by LinkedIn');
299
+ }
331
300
  return {
332
- username: localizedFirstName,
301
+ username: profileBody.localizedFirstName,
333
302
  email: email.emailAddress
334
303
  };
335
304
  }
@@ -348,14 +317,19 @@ function requireProvidersRegistry() {
348
317
  'profile'
349
318
  ]
350
319
  },
351
- async authCallback ({ query, providers }) {
320
+ async authCallback ({ providers, grantResponse }) {
352
321
  const jwksUrl = new URL(providers.cognito.jwksurl);
353
- const idToken = query.id_token;
354
- const tokenPayload = await getCognitoPayload({
322
+ const idToken = grantResponse?.id_token;
323
+ if (!idToken) {
324
+ throw new Error('Cognito authentication requires a completed OAuth session');
325
+ }
326
+ const tokenPayload = await verifyJwtWithJwks$1({
355
327
  idToken,
356
- jwksUrl,
357
- purest
328
+ jwksUrl
358
329
  });
330
+ if (tokenPayload.email_verified !== true) {
331
+ throw new Error('Email not verified by Cognito');
332
+ }
359
333
  return {
360
334
  username: tokenPayload['cognito:username'],
361
335
  email: tokenPayload.email
@@ -374,26 +348,15 @@ function requireProvidersRegistry() {
374
348
  ]
375
349
  },
376
350
  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
- }
351
+ const { body } = await bearerGet('https://oauth.reddit.com/api/v1/me', accessToken, {
352
+ headers: {
353
+ 'user-agent': 'strapi'
391
354
  }
392
355
  });
393
- return reddit.get('me').auth(accessToken).request().then(({ body })=>({
394
- username: body.name,
395
- email: `${body.name}@strapi.io`
396
- }));
356
+ return {
357
+ username: body.name,
358
+ email: `${body.name}@strapi.io`
359
+ };
397
360
  }
398
361
  },
399
362
  auth0: {
@@ -411,17 +374,16 @@ function requireProvidersRegistry() {
411
374
  ]
412
375
  },
413
376
  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
- });
377
+ const { body } = await bearerGet(`https://${providers.auth0.subdomain}.auth0.com/userinfo`, accessToken);
378
+ if (body.email && body.email_verified !== true) {
379
+ throw new Error('Email not verified by Auth0');
380
+ }
381
+ const username = body.username || body.nickname || body.name || body.email.split('@')[0];
382
+ const email = body.email || `${username.replace(/\s+/g, '.')}@strapi.io`;
383
+ return {
384
+ username,
385
+ email
386
+ };
425
387
  }
426
388
  },
427
389
  cas: {
@@ -437,21 +399,20 @@ function requireProvidersRegistry() {
437
399
  subdomain: 'my.subdomain.com/cas'
438
400
  },
439
401
  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
- });
402
+ const { body } = await bearerGet(`https://${providers.cas.subdomain}/oidc/profile`, accessToken);
403
+ const username = body.attributes ? body.attributes.strapiusername || body.id || body.sub : body.strapiusername || body.id || body.sub;
404
+ const email = body.attributes ? body.attributes.strapiemail || body.attributes.email : body.strapiemail || body.email;
405
+ const emailVerified = body.email_verified ?? body.attributes?.email_verified;
406
+ if (!username || !email) {
407
+ strapi.log.warn(`CAS Response Body did not contain required attributes: ${JSON.stringify(body)}`);
408
+ }
409
+ if (email && emailVerified !== true) {
410
+ throw new Error('Email not verified by CAS');
411
+ }
412
+ return {
413
+ username,
414
+ email
415
+ };
455
416
  }
456
417
  },
457
418
  patreon: {
@@ -467,29 +428,15 @@ function requireProvidersRegistry() {
467
428
  ]
468
429
  },
469
430
  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
- });
431
+ const { body } = await bearerGet('https://www.patreon.com/api/oauth2/v2/identity?fields[user]=full_name,email,is_email_verified', accessToken);
432
+ const patreonData = body.data.attributes;
433
+ if (patreonData.is_email_verified !== true) {
434
+ throw new Error('Email not verified by Patreon');
435
+ }
436
+ return {
437
+ username: patreonData.full_name,
438
+ email: patreonData.email
439
+ };
493
440
  }
494
441
  },
495
442
  keycloak: {
@@ -507,29 +454,24 @@ function requireProvidersRegistry() {
507
454
  ]
508
455
  },
509
456
  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
- });
457
+ const { body } = await bearerGet(`https://${providers.keycloak.subdomain}/protocol/openid-connect/userinfo`, accessToken);
458
+ if (body.email_verified !== true) {
459
+ throw new Error('Email not verified by Keycloak');
460
+ }
461
+ return {
462
+ username: body.preferred_username,
463
+ email: body.email
464
+ };
519
465
  }
520
466
  }
521
467
  });
522
468
  providersRegistry = ()=>{
523
- const purest = require$$4__default.default;
524
469
  const apiPrefix = strapi.config.get('api.rest.prefix');
525
470
  const baseURL = urljoin(strapi.config.server.url, apiPrefix, 'auth');
526
471
  const authProviders = initProviders({
527
- baseURL,
528
- purest
472
+ baseURL
529
473
  });
530
- /**
531
- * @public
532
- */ return {
474
+ return {
533
475
  getAll () {
534
476
  return authProviders;
535
477
  },
@@ -542,16 +484,14 @@ function requireProvidersRegistry() {
542
484
  remove (name) {
543
485
  delete authProviders[name];
544
486
  },
545
- /**
546
- * @internal
547
- */ async run ({ provider, accessToken, query, providers }) {
487
+ async run ({ provider, accessToken, query, providers, grantResponse }) {
548
488
  const authProvider = authProviders[provider];
549
489
  assert(authProvider, 'Unknown auth provider');
550
490
  return authProvider.authCallback({
551
491
  accessToken,
552
492
  query,
553
493
  providers,
554
- purest
494
+ grantResponse
555
495
  });
556
496
  }
557
497
  };