@strapi/plugin-users-permissions 0.0.0-next.fb3a0b82484ce466b1efb1b28f16fc8ef73aba4a → 0.0.0-next.fd9757603c653ca239c45d6e28ab536d2dae0b39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -2
- package/.eslintrc +17 -0
- package/LICENSE +18 -3
- package/admin/src/index.js +5 -15
- package/admin/src/pages/Providers/{index.js → index.jsx} +1 -1
- package/dist/_chunks/ar-MvD8Ghac.mjs +44 -0
- package/dist/_chunks/ar-MvD8Ghac.mjs.map +1 -0
- package/dist/_chunks/ar-t5qTFaAD.js +44 -0
- package/dist/_chunks/ar-t5qTFaAD.js.map +1 -0
- package/dist/_chunks/cs-BMuXwxA1.mjs +50 -0
- package/dist/_chunks/cs-BMuXwxA1.mjs.map +1 -0
- package/dist/_chunks/cs-I8N4u-Sd.js +50 -0
- package/dist/_chunks/cs-I8N4u-Sd.js.map +1 -0
- package/dist/_chunks/de-YTjtq89K.js +62 -0
- package/dist/_chunks/de-YTjtq89K.js.map +1 -0
- package/dist/_chunks/de-zs2qqc0W.mjs +62 -0
- package/dist/_chunks/de-zs2qqc0W.mjs.map +1 -0
- package/dist/_chunks/dk-HctVBMsG.mjs +86 -0
- package/dist/_chunks/dk-HctVBMsG.mjs.map +1 -0
- package/dist/_chunks/dk-TF-dWjzl.js +86 -0
- package/dist/_chunks/dk-TF-dWjzl.js.map +1 -0
- package/dist/_chunks/en-CE3wEy_c.mjs +86 -0
- package/dist/_chunks/en-CE3wEy_c.mjs.map +1 -0
- package/dist/_chunks/en-m608rMZx.js +86 -0
- package/dist/_chunks/en-m608rMZx.js.map +1 -0
- package/dist/_chunks/es-9381tih_.mjs +86 -0
- package/dist/_chunks/es-9381tih_.mjs.map +1 -0
- package/dist/_chunks/es-XBQsB8_9.js +86 -0
- package/dist/_chunks/es-XBQsB8_9.js.map +1 -0
- package/dist/_chunks/fr-6cz3U-IF.js +50 -0
- package/dist/_chunks/fr-6cz3U-IF.js.map +1 -0
- package/dist/_chunks/fr-CMSc77If.mjs +50 -0
- package/dist/_chunks/fr-CMSc77If.mjs.map +1 -0
- package/dist/_chunks/id-RJ934rq-.js +62 -0
- package/dist/_chunks/id-RJ934rq-.js.map +1 -0
- package/dist/_chunks/id-SDuyIkZa.mjs +62 -0
- package/dist/_chunks/id-SDuyIkZa.mjs.map +1 -0
- package/dist/_chunks/index-7cDy9OFu.mjs +301 -0
- package/dist/_chunks/index-7cDy9OFu.mjs.map +1 -0
- package/dist/_chunks/index-F7bt_caK.mjs +1159 -0
- package/dist/_chunks/index-F7bt_caK.mjs.map +1 -0
- package/dist/_chunks/index-H1mhyWXP.mjs +385 -0
- package/dist/_chunks/index-H1mhyWXP.mjs.map +1 -0
- package/dist/_chunks/index-Uclk5uc0.mjs +250 -0
- package/dist/_chunks/index-Uclk5uc0.mjs.map +1 -0
- package/dist/_chunks/index-cNS7FpQt.js +320 -0
- package/dist/_chunks/index-cNS7FpQt.js.map +1 -0
- package/dist/_chunks/index-e4dnRonE.js +407 -0
- package/dist/_chunks/index-e4dnRonE.js.map +1 -0
- package/dist/_chunks/index-oFjO2L1S.mjs +615 -0
- package/dist/_chunks/index-oFjO2L1S.mjs.map +1 -0
- package/dist/_chunks/index-rU_BkerL.js +1191 -0
- package/dist/_chunks/index-rU_BkerL.js.map +1 -0
- package/dist/_chunks/index-sm9u2cPw.js +638 -0
- package/dist/_chunks/index-sm9u2cPw.js.map +1 -0
- package/dist/_chunks/index-vLWD-DRR.js +249 -0
- package/dist/_chunks/index-vLWD-DRR.js.map +1 -0
- package/dist/_chunks/it-YhZOlM2X.js +62 -0
- package/dist/_chunks/it-YhZOlM2X.js.map +1 -0
- package/dist/_chunks/it-bvH7DgQo.mjs +62 -0
- package/dist/_chunks/it-bvH7DgQo.mjs.map +1 -0
- package/dist/_chunks/ja-o_-JPvQv.mjs +48 -0
- package/dist/_chunks/ja-o_-JPvQv.mjs.map +1 -0
- package/dist/_chunks/ja-xssHUXFv.js +48 -0
- package/dist/_chunks/ja-xssHUXFv.js.map +1 -0
- package/dist/_chunks/ko-C3mHUSJa.js +86 -0
- package/dist/_chunks/ko-C3mHUSJa.js.map +1 -0
- package/dist/_chunks/ko-XJbPSez_.mjs +86 -0
- package/dist/_chunks/ko-XJbPSez_.mjs.map +1 -0
- package/dist/_chunks/ms-II5Ea73J.mjs +49 -0
- package/dist/_chunks/ms-II5Ea73J.mjs.map +1 -0
- package/dist/_chunks/ms-d0hfg65Z.js +49 -0
- package/dist/_chunks/ms-d0hfg65Z.js.map +1 -0
- package/dist/_chunks/nl-TA7TfK_5.js +48 -0
- package/dist/_chunks/nl-TA7TfK_5.js.map +1 -0
- package/dist/_chunks/nl-vEy6TN0K.mjs +48 -0
- package/dist/_chunks/nl-vEy6TN0K.mjs.map +1 -0
- package/dist/_chunks/pl-0pUL9hdA.js +86 -0
- package/dist/_chunks/pl-0pUL9hdA.js.map +1 -0
- package/dist/_chunks/pl-2VowaFGt.mjs +86 -0
- package/dist/_chunks/pl-2VowaFGt.mjs.map +1 -0
- package/dist/_chunks/pt-BR-WNOhafR4.js +44 -0
- package/dist/_chunks/pt-BR-WNOhafR4.js.map +1 -0
- package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs +44 -0
- package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +1 -0
- package/dist/_chunks/pt-Rf9W51IO.mjs +48 -0
- package/dist/_chunks/pt-Rf9W51IO.mjs.map +1 -0
- package/dist/_chunks/pt-guNR9Gax.js +48 -0
- package/dist/_chunks/pt-guNR9Gax.js.map +1 -0
- package/dist/_chunks/ru-X3BMXDds.js +86 -0
- package/dist/_chunks/ru-X3BMXDds.js.map +1 -0
- package/dist/_chunks/ru-qKHnd5or.mjs +86 -0
- package/dist/_chunks/ru-qKHnd5or.mjs.map +1 -0
- package/dist/_chunks/sk-NWPw1oTN.js +50 -0
- package/dist/_chunks/sk-NWPw1oTN.js.map +1 -0
- package/dist/_chunks/sk-_Ryr-eTT.mjs +50 -0
- package/dist/_chunks/sk-_Ryr-eTT.mjs.map +1 -0
- package/dist/_chunks/sv-76NnbB__.js +86 -0
- package/dist/_chunks/sv-76NnbB__.js.map +1 -0
- package/dist/_chunks/sv-BqzScFXS.mjs +86 -0
- package/dist/_chunks/sv-BqzScFXS.mjs.map +1 -0
- package/dist/_chunks/th-WsknMEpq.mjs +60 -0
- package/dist/_chunks/th-WsknMEpq.mjs.map +1 -0
- package/dist/_chunks/th-cbppX21D.js +60 -0
- package/dist/_chunks/th-cbppX21D.js.map +1 -0
- package/dist/_chunks/tr-6mm_Fmz7.js +85 -0
- package/dist/_chunks/tr-6mm_Fmz7.js.map +1 -0
- package/dist/_chunks/tr-_DB1F1GW.mjs +85 -0
- package/dist/_chunks/tr-_DB1F1GW.mjs.map +1 -0
- package/dist/_chunks/uk-sI2I1ogF.js +49 -0
- package/dist/_chunks/uk-sI2I1ogF.js.map +1 -0
- package/dist/_chunks/uk-yxMSQAwI.mjs +49 -0
- package/dist/_chunks/uk-yxMSQAwI.mjs.map +1 -0
- package/dist/_chunks/vi-A3zJxaiI.js +50 -0
- package/dist/_chunks/vi-A3zJxaiI.js.map +1 -0
- package/dist/_chunks/vi-xY0zCW3d.mjs +50 -0
- package/dist/_chunks/vi-xY0zCW3d.mjs.map +1 -0
- package/dist/_chunks/zh-72SpmFXa.js +86 -0
- package/dist/_chunks/zh-72SpmFXa.js.map +1 -0
- package/dist/_chunks/zh-Hans-ArWWtyP4.js +86 -0
- package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +1 -0
- package/dist/_chunks/zh-Hans-E84cu4kP.mjs +86 -0
- package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +1 -0
- package/dist/_chunks/zh-OFeldzbX.mjs +86 -0
- package/dist/_chunks/zh-OFeldzbX.mjs.map +1 -0
- package/dist/admin/index.js +5 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +6 -0
- package/dist/admin/index.mjs.map +1 -0
- package/package.json +33 -13
- package/packup.config.ts +22 -0
- package/server/bootstrap/grant-config.js +9 -0
- package/server/bootstrap/users-permissions-actions.js +6 -0
- package/server/config.js +29 -0
- package/server/controllers/auth.js +22 -4
- package/server/services/providers-registry.js +21 -2
- package/.eslintrc.js +0 -14
- package/strapi-admin.js +0 -3
- /package/admin/src/components/BoundRoute/{index.js → index.jsx} +0 -0
- /package/admin/src/components/FormModal/Input/{index.js → index.jsx} +0 -0
- /package/admin/src/components/FormModal/{index.js → index.jsx} +0 -0
- /package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx} +0 -0
- /package/admin/src/components/Permissions/PermissionRow/{SubCategory.js → SubCategory.jsx} +0 -0
- /package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +0 -0
- /package/admin/src/components/Permissions/{index.js → index.jsx} +0 -0
- /package/admin/src/components/Policies/{index.js → index.jsx} +0 -0
- /package/admin/src/components/UsersPermissions/{index.js → index.jsx} +0 -0
- /package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +0 -0
- /package/admin/src/pages/AdvancedSettings/{index.js → index.jsx} +0 -0
- /package/admin/src/pages/EmailTemplates/components/{EmailForm.js → EmailForm.jsx} +0 -0
- /package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +0 -0
- /package/admin/src/pages/EmailTemplates/{index.js → index.jsx} +0 -0
- /package/admin/src/pages/Roles/{index.js → index.jsx} +0 -0
- /package/admin/src/pages/Roles/pages/{CreatePage.js → CreatePage.jsx} +0 -0
- /package/admin/src/pages/Roles/pages/{EditPage.js → EditPage.jsx} +0 -0
- /package/admin/src/pages/Roles/pages/ListPage/components/{TableBody.js → TableBody.jsx} +0 -0
- /package/admin/src/pages/Roles/pages/ListPage/{index.js → index.jsx} +0 -0
|
@@ -201,10 +201,28 @@ module.exports = {
|
|
|
201
201
|
}
|
|
202
202
|
|
|
203
203
|
// Ability to pass OAuth callback dynamically
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
204
|
+
const queryCustomCallback = _.get(ctx, 'query.callback');
|
|
205
|
+
const dynamicSessionCallback = _.get(ctx, 'session.grant.dynamic.callback');
|
|
206
|
+
|
|
207
|
+
const customCallback = queryCustomCallback ?? dynamicSessionCallback;
|
|
208
|
+
|
|
209
|
+
// The custom callback is validated to make sure it's not redirecting to an unwanted actor.
|
|
210
|
+
if (customCallback !== undefined) {
|
|
211
|
+
try {
|
|
212
|
+
// We're extracting the callback validator from the plugin config since it can be user-customized
|
|
213
|
+
const { validate: validateCallback } = strapi
|
|
214
|
+
.plugin('users-permissions')
|
|
215
|
+
.config('callback');
|
|
216
|
+
|
|
217
|
+
await validateCallback(customCallback, grantConfig[provider]);
|
|
218
|
+
|
|
219
|
+
grantConfig[provider].callback = customCallback;
|
|
220
|
+
} catch (e) {
|
|
221
|
+
throw new ValidationError('Invalid callback URL provided', { callback: customCallback });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Build a valid redirect URI for the current provider
|
|
208
226
|
grantConfig[provider].redirect_uri = getService('providers').buildRedirectUri(provider);
|
|
209
227
|
|
|
210
228
|
return grant(grantConfig)(ctx, next);
|
|
@@ -54,8 +54,11 @@ const getInitialProviders = ({ purest }) => ({
|
|
|
54
54
|
.auth(accessToken)
|
|
55
55
|
.request()
|
|
56
56
|
.then(({ body }) => {
|
|
57
|
-
// Combine username and discriminator
|
|
58
|
-
const username =
|
|
57
|
+
// Combine username and discriminator (if discriminator exists and not equal to 0)
|
|
58
|
+
const username =
|
|
59
|
+
body.discriminator && body.discriminator !== '0'
|
|
60
|
+
? `${body.username}#${body.discriminator}`
|
|
61
|
+
: body.username;
|
|
59
62
|
return {
|
|
60
63
|
username,
|
|
61
64
|
email: body.email,
|
|
@@ -311,6 +314,7 @@ const getInitialProviders = ({ purest }) => ({
|
|
|
311
314
|
origin: 'https://www.patreon.com',
|
|
312
315
|
path: 'api/oauth2/{path}',
|
|
313
316
|
headers: {
|
|
317
|
+
'user-agent': 'strapi',
|
|
314
318
|
authorization: 'Bearer {auth}',
|
|
315
319
|
},
|
|
316
320
|
},
|
|
@@ -331,6 +335,21 @@ const getInitialProviders = ({ purest }) => ({
|
|
|
331
335
|
};
|
|
332
336
|
});
|
|
333
337
|
},
|
|
338
|
+
async keycloak({ accessToken, providers }) {
|
|
339
|
+
const keycloak = purest({ provider: 'keycloak' });
|
|
340
|
+
|
|
341
|
+
return keycloak
|
|
342
|
+
.subdomain(providers.keycloak.subdomain)
|
|
343
|
+
.get('protocol/openid-connect/userinfo')
|
|
344
|
+
.auth(accessToken)
|
|
345
|
+
.request()
|
|
346
|
+
.then(({ body }) => {
|
|
347
|
+
return {
|
|
348
|
+
username: body.preferred_username,
|
|
349
|
+
email: body.email,
|
|
350
|
+
};
|
|
351
|
+
});
|
|
352
|
+
},
|
|
334
353
|
});
|
|
335
354
|
|
|
336
355
|
module.exports = () => {
|
package/.eslintrc.js
DELETED
package/strapi-admin.js
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|