@strapi/admin 5.50.2 → 5.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +14 -6
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +14 -6
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/utils/cookies.js +77 -2
- package/dist/admin/admin/src/utils/cookies.js.map +1 -1
- package/dist/admin/admin/src/utils/cookies.mjs +76 -3
- package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
- package/dist/admin/shared/utils/auth-cookie-domain.js +41 -0
- package/dist/admin/shared/utils/auth-cookie-domain.js.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-domain.mjs +38 -0
- package/dist/admin/shared/utils/auth-cookie-domain.mjs.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-name.js +2 -2
- package/dist/admin/shared/utils/auth-cookie-name.js.map +1 -1
- package/dist/admin/shared/utils/auth-cookie-name.mjs +2 -2
- package/dist/admin/shared/utils/auth-cookie-name.mjs.map +1 -1
- package/dist/admin/shared/utils/auth-cookie-path.js +39 -0
- package/dist/admin/shared/utils/auth-cookie-path.js.map +1 -0
- package/dist/admin/shared/utils/auth-cookie-path.mjs +36 -0
- package/dist/admin/shared/utils/auth-cookie-path.mjs.map +1 -0
- package/dist/admin/src/utils/cookies.d.ts +21 -0
- package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
- package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
- package/dist/ee/server/src/services/auth.d.ts.map +1 -1
- package/dist/ee/server/src/services/user.d.ts.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
- package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +9 -3
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +10 -4
- package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
- package/dist/server/ee/server/src/services/auth.js +5 -5
- package/dist/server/ee/server/src/services/auth.js.map +1 -1
- package/dist/server/ee/server/src/services/auth.mjs +5 -5
- package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
- package/dist/server/ee/server/src/services/user.js +1 -0
- package/dist/server/ee/server/src/services/user.js.map +1 -1
- package/dist/server/ee/server/src/services/user.mjs +1 -0
- package/dist/server/ee/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/content-types/User.js +6 -0
- package/dist/server/server/src/content-types/User.js.map +1 -1
- package/dist/server/server/src/content-types/User.mjs +6 -0
- package/dist/server/server/src/content-types/User.mjs.map +1 -1
- package/dist/server/server/src/controllers/authentication.js +12 -10
- package/dist/server/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/server/src/controllers/authentication.mjs +10 -8
- package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js +17 -4
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs +17 -4
- package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
- package/dist/server/server/src/services/auth.js +51 -6
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/auth.mjs +46 -6
- package/dist/server/server/src/services/auth.mjs.map +1 -1
- package/dist/server/server/src/services/index.js +1 -1
- package/dist/server/server/src/services/index.js.map +1 -1
- package/dist/server/server/src/services/user.js +1 -0
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs +1 -0
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/shared/utils/auth-cookie-domain.js +41 -0
- package/dist/server/shared/utils/auth-cookie-domain.js.map +1 -0
- package/dist/server/shared/utils/auth-cookie-domain.mjs +38 -0
- package/dist/server/shared/utils/auth-cookie-domain.mjs.map +1 -0
- package/dist/server/shared/utils/auth-cookie-name.js +2 -2
- package/dist/server/shared/utils/auth-cookie-name.js.map +1 -1
- package/dist/server/shared/utils/auth-cookie-name.mjs +2 -2
- package/dist/server/shared/utils/auth-cookie-name.mjs.map +1 -1
- package/dist/server/shared/utils/auth-cookie-path.js +39 -0
- package/dist/server/shared/utils/auth-cookie-path.js.map +1 -0
- package/dist/server/shared/utils/auth-cookie-path.mjs +36 -0
- package/dist/server/shared/utils/auth-cookie-path.mjs.map +1 -0
- package/dist/server/shared/utils/session-auth.js +54 -3
- package/dist/server/shared/utils/session-auth.js.map +1 -1
- package/dist/server/shared/utils/session-auth.mjs +51 -4
- package/dist/server/shared/utils/session-auth.mjs.map +1 -1
- package/dist/server/src/content-types/User.d.ts +6 -0
- package/dist/server/src/content-types/User.d.ts.map +1 -1
- package/dist/server/src/content-types/index.d.ts +6 -0
- package/dist/server/src/content-types/index.d.ts.map +1 -1
- package/dist/server/src/controllers/authentication.d.ts.map +1 -1
- package/dist/server/src/domain/user.d.ts +1 -0
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +6 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/serve-admin-panel.d.ts.map +1 -1
- package/dist/server/src/services/auth.d.ts +18 -0
- package/dist/server/src/services/auth.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/user.d.ts.map +1 -1
- package/dist/shared/contracts/shared.d.ts +2 -1
- package/dist/shared/contracts/shared.d.ts.map +1 -1
- package/dist/shared/utils/__tests__/auth-cookie-domain.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-domain.test.d.ts.map +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-path.test.d.ts +1 -0
- package/dist/shared/utils/__tests__/auth-cookie-path.test.d.ts.map +1 -0
- package/dist/shared/utils/auth-cookie-domain.d.ts +21 -0
- package/dist/shared/utils/auth-cookie-domain.d.ts.map +1 -0
- package/dist/shared/utils/auth-cookie-name.d.ts +1 -1
- package/dist/shared/utils/auth-cookie-name.d.ts.map +1 -1
- package/dist/shared/utils/auth-cookie-path.d.ts +17 -0
- package/dist/shared/utils/auth-cookie-path.d.ts.map +1 -0
- package/dist/shared/utils/session-auth.d.ts +15 -0
- package/dist/shared/utils/session-auth.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-admin-panel.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/serve-admin-panel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serve-admin-panel.d.ts","sourceRoot":"","sources":["../../../../server/src/routes/serve-admin-panel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAIzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAW1C,QAAA,MAAM,uBAAuB,GAAI,YAAY;IAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAA;CAAE,SAmDnE,CAAC;AAGF,eAAO,MAAM,WAAW,GAAI,UAAU,GAAG,EAAE,qBAAqB,MAGhD,KAAK,OAAO,EAAE,MAAM,IAAI,kBAiBvC,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import type { AdminUser } from '../../../shared/contracts/shared';
|
|
2
2
|
import '@strapi/types';
|
|
3
|
+
/**
|
|
4
|
+
* Resolve the reset-password token lifetime, in milliseconds, from config.
|
|
5
|
+
* Falls back to {@link DEFAULT_RESET_PASSWORD_TOKEN_EXPIRES_IN} for unset/invalid values.
|
|
6
|
+
*/
|
|
7
|
+
declare const getResetPasswordTokenTTL: () => number;
|
|
8
|
+
/**
|
|
9
|
+
* Create a reset-password token with an expiry and persist it on the user.
|
|
10
|
+
* Shared by the CE and EE auth services so the expiry behaviour can't drift.
|
|
11
|
+
* @returns the generated reset-password token
|
|
12
|
+
*/
|
|
13
|
+
declare const assignResetPasswordToken: (userId: AdminUser["id"]) => Promise<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Reject a reset-password token that has expired — or that has no expiry at all
|
|
16
|
+
* (tokens issued before this was introduced) — clearing the stale token so it
|
|
17
|
+
* cannot be retried. Shared by the CE and EE auth services. (GH#25711)
|
|
18
|
+
*/
|
|
19
|
+
declare const assertResetPasswordTokenIsValid: (user: AdminUser) => Promise<void>;
|
|
3
20
|
declare const _default: {
|
|
4
21
|
checkCredentials: ({ email, password }: {
|
|
5
22
|
email: string;
|
|
@@ -18,4 +35,5 @@ declare const _default: {
|
|
|
18
35
|
}) => Promise<AdminUser>;
|
|
19
36
|
};
|
|
20
37
|
export default _default;
|
|
38
|
+
export { getResetPasswordTokenTTL, assignResetPasswordToken, assertResetPasswordTokenIsValid };
|
|
21
39
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../server/src/services/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../server/src/services/auth.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,eAAe,CAAC;AAQvB;;;GAGG;AACH,QAAA,MAAM,wBAAwB,QAAO,MASpC,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,wBAAwB,GAAU,QAAQ,SAAS,CAAC,IAAI,CAAC,KAAG,OAAO,CAAC,MAAM,CAU/E,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,+BAA+B,GAAU,MAAM,SAAS,KAAG,OAAO,CAAC,IAAI,CAa5E,CAAC;;4CAsBmD;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;;;iCAPpD,MAAM,QAAQ,MAAM;6BARxB,MAAM;;eAuCmB,MAAM;;;4BA0CE,MAAM;kBAAY,MAAM;;;AAmBzF,wBAAmG;AACnG,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/services/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;oBA4Bw/B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAT7iC,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;AAZxD,wBAoBE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../server/src/services/user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EACV,SAAS,EAET,wBAAwB,EACxB,kBAAkB,EAElB,sBAAsB,EAEvB,MAAM,kCAAkC,CAAC;;
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../server/src/services/user.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,KAAK,EACV,SAAS,EAET,wBAAwB,EACxB,kBAAkB,EAElB,sBAAsB,EAEvB,MAAM,kCAAkC,CAAC;;yBAmE5B,OAAO,CAAC,wBAAwB,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,IAAI,CAAA;KAAE,KAClE,OAAO,CAAC,SAAS,CAAC;mCASP,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE,mBAAmB,GAAG,UAAU,GAAG,OAAO,CAAC,KAC9F,OAAO,CAAC,SAAS,CAAC;qBA4Cf,IAAI,CAAC,EAAE,cACC,OAAO,CAAC,sBAAsB,CAAC,KAC1C,OAAO,CAAC,SAAS,CAAC;0BAsHoB,OAAO,KAAG,OAAO,CAAC,OAAO,CAAC;8CAU9C,MAAM,KACxB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC;iDAmBxE;QACD,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;KAC9B;yBA/P2B,SAAS,KAAG,kBAAkB;kBAoR/B,IAAI,CAAC,EAAE;4BAUG,MAAM;+BAUL,OAAO,CAAC,OAAO,CAAC;qBAWxB,IAAI,CAAC,EAAE,KAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;uBAsCjC,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAG,OAAO,CAAC,SAAS,EAAE,CAAC;iCAuClC,OAAO,CAAC,MAAM,CAAC;2BAcrB,OAAO,CAAC,MAAM,CAAC;+BAOT,IAAI,CAAC,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;6CAoBX,OAAO,CAAC,IAAI,CAAC;kCAzQtB,MAAM,YAAY,MAAM;6BAmR/B,OAAO,CAAC,MAAM,EAAE,CAAC;oCA9OR,IAAI,CAAC,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC;;AAmPvE,wBAoBE"}
|
|
@@ -22,6 +22,7 @@ export interface AdminUser extends Entity {
|
|
|
22
22
|
email?: string;
|
|
23
23
|
password?: string;
|
|
24
24
|
resetPasswordToken?: string | null;
|
|
25
|
+
resetPasswordTokenExpiresAt?: string | Date | null;
|
|
25
26
|
registrationToken?: string | null;
|
|
26
27
|
isActive: boolean;
|
|
27
28
|
roles: AdminRole[];
|
|
@@ -34,7 +35,7 @@ export type AdminUserCreationPayload = Omit<AdminUser, keyof Entity | 'roles' |
|
|
|
34
35
|
export type AdminUserUpdatePayload = Omit<AdminUser, keyof Entity | 'roles'> & {
|
|
35
36
|
roles: Data.ID[];
|
|
36
37
|
};
|
|
37
|
-
export type SanitizedAdminUser = Omit<AdminUser, 'password' | 'resetPasswordToken' | 'roles'> & {
|
|
38
|
+
export type SanitizedAdminUser = Omit<AdminUser, 'password' | 'resetPasswordToken' | 'resetPasswordTokenExpiresAt' | 'roles'> & {
|
|
38
39
|
roles: SanitizedAdminRole[];
|
|
39
40
|
};
|
|
40
41
|
export type AdminTokenOwner = Pick<AdminUser, 'id' | 'firstname' | 'lastname' | 'username' | 'email'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../shared/contracts/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAU,SAAQ,MAAM;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,SAAS,EACT,MAAM,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAChD,GAAG;IACF,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG;IAC7E,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../shared/contracts/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-cookie-domain.test.d.ts","sourceRoot":"","sources":["../../../../shared/utils/__tests__/auth-cookie-domain.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-cookie-path.test.d.ts","sourceRoot":"","sources":["../../../../shared/utils/__tests__/auth-cookie-path.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Domain attribute of the admin auth (access) token cookie, configurable
|
|
3
|
+
* through `admin.auth.cookie.domain` (falling back to `admin.auth.domain`) so
|
|
4
|
+
* multiple Strapi instances under the same parent domain share, or stay
|
|
5
|
+
* isolated to, the intended host.
|
|
6
|
+
*
|
|
7
|
+
* Browser-safe single source for both sides of the handoff: the admin panel
|
|
8
|
+
* cannot read server config, so the build transports the config value into
|
|
9
|
+
* the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_DOMAIN` variable
|
|
10
|
+
* (see create-build-context.ts in @strapi/strapi); the server resolves the
|
|
11
|
+
* same config at runtime. Changing the domain requires an admin rebuild, like
|
|
12
|
+
* any other admin config change.
|
|
13
|
+
*
|
|
14
|
+
* Defaults to `undefined` (host-only cookie) to match the browser default and
|
|
15
|
+
* the refresh-cookie behaviour in `getRefreshCookieOptions` when no domain is
|
|
16
|
+
* configured. A host-only cookie and a `Domain`-scoped cookie are distinct
|
|
17
|
+
* entries in the browser cookie store, so set and delete must agree on the
|
|
18
|
+
* domain or logout leaves a colliding copy behind.
|
|
19
|
+
*/
|
|
20
|
+
export declare const DEFAULT_AUTH_COOKIE_DOMAIN: undefined;
|
|
21
|
+
export declare const resolveAuthCookieDomain: (configuredDomain?: string, warn?: (message: string) => void) => string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-cookie-domain.d.ts","sourceRoot":"","sources":["../../../shared/utils/auth-cookie-domain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,0BAA0B,WAAY,CAAC;AAQpD,eAAO,MAAM,uBAAuB,GAClC,mBAAmB,MAAM,EACzB,OAAM,CAAC,OAAO,EAAE,MAAM,KAAK,IAAmB,KAC7C,MAAM,GAAG,SAeX,CAAC"}
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
* rebuild, like any other admin config change.
|
|
12
12
|
*/
|
|
13
13
|
export declare const DEFAULT_AUTH_COOKIE_NAME = "jwtToken";
|
|
14
|
-
export declare const resolveAuthCookieName: (configuredName?: string) => string;
|
|
14
|
+
export declare const resolveAuthCookieName: (configuredName?: string, warn?: (message: string) => void) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-cookie-name.d.ts","sourceRoot":"","sources":["../../../shared/utils/auth-cookie-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAKnD,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"auth-cookie-name.d.ts","sourceRoot":"","sources":["../../../shared/utils/auth-cookie-name.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAKnD,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,MAAM,EACvB,OAAM,CAAC,OAAO,EAAE,MAAM,KAAK,IAAmB,KAC7C,MAeF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path attribute of the admin auth (access) token cookie, configurable
|
|
3
|
+
* through `admin.auth.cookie.path` so multiple Strapi instances on the same
|
|
4
|
+
* parent domain can keep separate cookies (e.g. `/strapi-de/admin`).
|
|
5
|
+
*
|
|
6
|
+
* Browser-safe single source for both sides of the handoff: the admin panel
|
|
7
|
+
* cannot read server config, so the build transports the config value into
|
|
8
|
+
* the bundle through the internal `STRAPI_ADMIN_AUTH_COOKIE_PATH` variable
|
|
9
|
+
* (see create-build-context.ts in @strapi/strapi); the server resolves the
|
|
10
|
+
* same config at runtime. Changing the path requires an admin rebuild, like
|
|
11
|
+
* any other admin config change.
|
|
12
|
+
*
|
|
13
|
+
* Defaults to `/admin` to match the refresh-cookie path used by
|
|
14
|
+
* `getRefreshCookieOptions`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DEFAULT_AUTH_COOKIE_PATH = "/admin";
|
|
17
|
+
export declare const resolveAuthCookiePath: (configuredPath?: string, warn?: (message: string) => void) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-cookie-path.d.ts","sourceRoot":"","sources":["../../../shared/utils/auth-cookie-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,WAAW,CAAC;AAWjD,eAAO,MAAM,qBAAqB,GAChC,iBAAiB,MAAM,EACvB,OAAM,CAAC,OAAO,EAAE,MAAM,KAAK,IAAmB,KAC7C,MAeF,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { Context } from 'koa';
|
|
1
2
|
import type { Modules } from '@strapi/types';
|
|
2
3
|
export declare const REFRESH_COOKIE_NAME = "strapi_admin_refresh";
|
|
3
4
|
export declare const getAccessCookieName: () => string;
|
|
5
|
+
export declare const getAccessCookiePath: () => string;
|
|
6
|
+
export declare const getAccessCookieDomain: () => string | undefined;
|
|
4
7
|
export declare const DEFAULT_MAX_REFRESH_TOKEN_LIFESPAN: number;
|
|
5
8
|
export declare const DEFAULT_IDLE_REFRESH_TOKEN_LIFESPAN: number;
|
|
6
9
|
export declare const DEFAULT_MAX_SESSION_LIFESPAN: number;
|
|
@@ -38,3 +41,15 @@ export declare const extractDeviceParams: (requestBody: unknown) => {
|
|
|
38
41
|
deviceId: string;
|
|
39
42
|
rememberMe: boolean;
|
|
40
43
|
};
|
|
44
|
+
export declare const buildSessionMetadataFromContext: (ctx: Context) => Record<string, unknown>;
|
|
45
|
+
/**
|
|
46
|
+
* Resolves the device id to use when revoking sessions on logout.
|
|
47
|
+
* SSO assigns deviceId server-side, so the client-provided value may not match
|
|
48
|
+
* the active session row. Prefer the deviceId stored on the session backing
|
|
49
|
+
* the current access token when available.
|
|
50
|
+
*
|
|
51
|
+
* Callers should pass `ctx.state.session.id` from the admin auth strategy and
|
|
52
|
+
* the already-parsed body `deviceId` — the logout route requires authentication,
|
|
53
|
+
* so sessionId is expected to be present.
|
|
54
|
+
*/
|
|
55
|
+
export declare const resolveLogoutDeviceId: (userId: string, sessionId: string | undefined, clientDeviceId: string | undefined) => Promise<string | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-auth.d.ts","sourceRoot":"","sources":["../../../shared/utils/session-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"session-auth.d.ts","sourceRoot":"","sources":["../../../shared/utils/session-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAS1D,eAAO,MAAM,mBAAmB,QAAO,MAGtC,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAGtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,MAAM,GAAG,SAIjD,CAAC;AAEF,eAAO,MAAM,kCAAkC,QAAoB,CAAC;AACpE,eAAO,MAAM,mCAAmC,QAAoB,CAAC;AACrE,eAAO,MAAM,4BAA4B,QAAmB,CAAC;AAC7D,eAAO,MAAM,6BAA6B,QAAc,CAAC;AAEzD,eAAO,MAAM,uBAAuB,GAAI,gBAAgB,OAAO;;;;;;;;CA4B9D,CAAC;AAgCF,eAAO,MAAM,4BAA4B,GACvC,MAAM,SAAS,GAAG,SAAS,EAC3B,uBAAuB,MAAM,EAC7B,gBAAgB,OAAO;;;;;;;;;;;;;;;;;CAgBxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,cAAc,CAAC,qBAAqB,GAAG,IAGnF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,MAA6B,CAAC;AAElE,eAAO,MAAM,mBAAmB,GAC9B,aAAa,OAAO,KACnB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAMzC,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAAI,KAAK,OAAO,4BAGxD,CAAC;AAEL;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,EACd,WAAW,MAAM,GAAG,SAAS,EAC7B,gBAAgB,MAAM,GAAG,SAAS,KACjC,OAAO,CAAC,MAAM,GAAG,SAAS,CAkB5B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.51.0",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"homepage": "https://strapi.io",
|
|
6
6
|
"bugs": {
|
|
@@ -91,10 +91,10 @@
|
|
|
91
91
|
"@reduxjs/toolkit": "1.9.7",
|
|
92
92
|
"@strapi/design-system": "2.2.3",
|
|
93
93
|
"@strapi/icons": "2.2.3",
|
|
94
|
-
"@strapi/permissions": "5.
|
|
95
|
-
"@strapi/types": "5.
|
|
96
|
-
"@strapi/typescript-utils": "5.
|
|
97
|
-
"@strapi/utils": "5.
|
|
94
|
+
"@strapi/permissions": "5.51.0",
|
|
95
|
+
"@strapi/types": "5.51.0",
|
|
96
|
+
"@strapi/typescript-utils": "5.51.0",
|
|
97
|
+
"@strapi/utils": "5.51.0",
|
|
98
98
|
"@testing-library/dom": "10.4.1",
|
|
99
99
|
"@testing-library/react": "16.3.2",
|
|
100
100
|
"@testing-library/user-event": "14.6.1",
|
|
@@ -145,11 +145,11 @@
|
|
|
145
145
|
"typescript": "5.9.3",
|
|
146
146
|
"use-context-selector": "1.4.1",
|
|
147
147
|
"yup": "0.32.9",
|
|
148
|
-
"zod": "3.25.
|
|
148
|
+
"zod": "3.25.76"
|
|
149
149
|
},
|
|
150
150
|
"devDependencies": {
|
|
151
|
-
"@strapi/admin-test-utils": "5.
|
|
152
|
-
"@strapi/data-transfer": "5.
|
|
151
|
+
"@strapi/admin-test-utils": "5.51.0",
|
|
152
|
+
"@strapi/data-transfer": "5.51.0",
|
|
153
153
|
"@testing-library/jest-dom": "6.9.1",
|
|
154
154
|
"@types/codemirror5": "npm:@types/codemirror@^5.60.15",
|
|
155
155
|
"@types/fs-extra": "11.0.4",
|