canopycms-auth-dev 0.0.5 → 0.0.6
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/LICENSE +21 -0
- package/dist/UserSwitcherButton.js +6 -9
- package/dist/UserSwitcherButton.js.map +1 -1
- package/dist/UserSwitcherModal.js +1 -1
- package/dist/UserSwitcherModal.js.map +1 -1
- package/dist/cache-writer.d.ts +1 -1
- package/dist/cache-writer.js +1 -1
- package/dist/cache-writer.js.map +1 -1
- package/dist/dev-defaults.d.ts +41 -0
- package/dist/dev-defaults.js +41 -0
- package/dist/dev-defaults.js.map +1 -0
- package/dist/dev-plugin.d.ts +8 -39
- package/dist/dev-plugin.js +10 -40
- package/dist/dev-plugin.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/jwt-verifier.js +1 -1
- package/dist/jwt-verifier.js.map +1 -1
- package/package.json +28 -32
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024-present Rice University
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState,
|
|
3
|
+
import { useState, useSyncExternalStore } from 'react';
|
|
4
4
|
import { ActionIcon, Avatar } from '@mantine/core';
|
|
5
5
|
import { UserSwitcherModal } from './UserSwitcherModal';
|
|
6
|
-
import { DEFAULT_USERS } from './dev-
|
|
6
|
+
import { DEFAULT_USERS } from './dev-defaults';
|
|
7
7
|
import { getDevUserCookie, DEFAULT_USER_ID } from './cookie-utils';
|
|
8
|
+
const noop = () => () => { };
|
|
9
|
+
const getSnapshot = () => getDevUserCookie() ?? DEFAULT_USER_ID;
|
|
10
|
+
const getServerSnapshot = () => DEFAULT_USER_ID;
|
|
8
11
|
/**
|
|
9
12
|
* User switcher button component that shows current user avatar and opens modal
|
|
10
13
|
*/
|
|
11
14
|
export function UserSwitcherButton() {
|
|
12
15
|
const [opened, setOpened] = useState(false);
|
|
13
|
-
const
|
|
14
|
-
// Only read cookie after mount to avoid hydration mismatch
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
setMounted(true);
|
|
17
|
-
}, []);
|
|
18
|
-
// Read current user from cookie (only on client)
|
|
19
|
-
const currentUserId = mounted ? (getDevUserCookie() ?? DEFAULT_USER_ID) : DEFAULT_USER_ID;
|
|
16
|
+
const currentUserId = useSyncExternalStore(noop, getSnapshot, getServerSnapshot);
|
|
20
17
|
const currentUser = DEFAULT_USERS.find((u) => u.userId === currentUserId);
|
|
21
18
|
return (_jsxs(_Fragment, { children: [_jsx(ActionIcon, { variant: "subtle", size: "lg", radius: "md", onClick: () => setOpened(true), "aria-label": "Switch user", children: _jsx(Avatar, { size: "sm", color: "blue", children: currentUser?.name[0] ?? 'U' }) }), _jsx(UserSwitcherModal, { opened: opened, onClose: () => setOpened(false), currentUserId: currentUserId })] }));
|
|
22
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSwitcherButton.js","sourceRoot":"","sources":["../src/UserSwitcherButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"UserSwitcherButton.js","sourceRoot":"","sources":["../src/UserSwitcherButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAElE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;AAC3B,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,gBAAgB,EAAE,IAAI,eAAe,CAAA;AAC/D,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,eAAe,CAAA;AAE/C;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAA;IAEhF,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAA;IAEzE,OAAO,CACL,8BACE,KAAC,UAAU,IACT,OAAO,EAAC,QAAQ,EAChB,IAAI,EAAC,IAAI,EACT,MAAM,EAAC,IAAI,EACX,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,gBACnB,aAAa,YAExB,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,YAC3B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,GACrB,GACE,EAEb,KAAC,iBAAiB,IAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,aAAa,EAAE,aAAa,GAC5B,IACD,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Modal, Stack, Paper, Group, Avatar, Text, Badge } from '@mantine/core';
|
|
4
4
|
import { MdCheck } from 'react-icons/md';
|
|
5
|
-
import { DEFAULT_USERS } from './dev-
|
|
5
|
+
import { DEFAULT_USERS } from './dev-defaults';
|
|
6
6
|
import { setDevUserCookie } from './cookie-utils';
|
|
7
7
|
/**
|
|
8
8
|
* User switcher modal component that displays all available dev users
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserSwitcherModal.js","sourceRoot":"","sources":["../src/UserSwitcherModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"UserSwitcherModal.js","sourceRoot":"","sources":["../src/UserSwitcherModal.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAQjD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAS;IACzE,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE;QACpC,wBAAwB;QACxB,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACxB,2BAA2B;QAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC,CAAA;IAED,OAAO,CACL,KAAC,KAAK,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAC,yBAAyB,YACtE,KAAC,KAAK,IAAC,GAAG,EAAC,IAAI,YACZ,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC3B,MAAC,KAAK,IAEJ,CAAC,EAAC,IAAI,EACN,UAAU,QACV,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAEtC,MAAC,KAAK,IAAC,OAAO,EAAC,eAAe,EAAC,EAAE,EAAC,IAAI,aACpC,MAAC,KAAK,eACJ,KAAC,MAAM,IAAC,KAAK,EAAC,MAAM,YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAU,EAC5C,0BACE,KAAC,IAAI,IAAC,EAAE,EAAE,GAAG,YAAG,IAAI,CAAC,IAAI,GAAQ,EACjC,KAAC,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,CAAC,EAAC,QAAQ,YACvB,IAAI,CAAC,KAAK,GACN,IACH,IACA,EACP,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,IACjD,EAEP,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CACjC,KAAC,KAAK,IAAC,GAAG,EAAC,IAAI,YACZ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B,KAAC,KAAK,IAAS,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,YACvC,CAAC,IADQ,CAAC,CAEL,CACT,CAAC,GACI,CACT,KA3BI,IAAI,CAAC,MAAM,CA4BV,CACT,CAAC,GACI,GACF,CACT,CAAA;AACH,CAAC"}
|
package/dist/cache-writer.d.ts
CHANGED
package/dist/cache-writer.js
CHANGED
package/dist/cache-writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-writer.js","sourceRoot":"","sources":["../src/cache-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cache-writer.js","sourceRoot":"","sources":["../src/cache-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAY9D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAA;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAA;IAE/C,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,EAAE,EAAE,CAAC,CAAC,MAAM;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC;KACJ,CAAA;IAED,MAAM,UAAU,GAAG;QACjB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;KACJ,CAAA;IAED,MAAM,eAAe,GAAG;QACtB,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAC1F;KACF,CAAA;IAED,qEAAqE;IACrE,MAAM,sBAAsB,CAAC,SAAS,EAAE;QACtC,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,UAAU;QACvB,kBAAkB,EAAE,eAAe;KACpC,CAAC,CAAA;IAEF,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-safe defaults and types for dev auth plugin.
|
|
3
|
+
* This file must NOT import any server-only code (node:fs, etc.)
|
|
4
|
+
* so it can be safely included in client bundles.
|
|
5
|
+
*/
|
|
6
|
+
import type { CanopyUserId, CanopyGroupId } from 'canopycms';
|
|
7
|
+
export interface DevUser {
|
|
8
|
+
userId: CanopyUserId;
|
|
9
|
+
name: string;
|
|
10
|
+
email: string;
|
|
11
|
+
avatarUrl?: string;
|
|
12
|
+
externalGroups: CanopyGroupId[];
|
|
13
|
+
}
|
|
14
|
+
export interface DevGroup {
|
|
15
|
+
id: CanopyGroupId;
|
|
16
|
+
name: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const DEV_ADMIN_USER_ID: CanopyUserId;
|
|
20
|
+
export interface DevAuthConfig {
|
|
21
|
+
/**
|
|
22
|
+
* Custom mock users. If not provided, uses default users.
|
|
23
|
+
*/
|
|
24
|
+
users?: DevUser[];
|
|
25
|
+
/**
|
|
26
|
+
* Custom mock groups. If not provided, uses default groups.
|
|
27
|
+
*/
|
|
28
|
+
groups?: DevGroup[];
|
|
29
|
+
/**
|
|
30
|
+
* Default user ID when no user is selected.
|
|
31
|
+
* @default 'dev_user1_2nK8mP4xL9' (user1)
|
|
32
|
+
*/
|
|
33
|
+
defaultUserId?: CanopyUserId;
|
|
34
|
+
/**
|
|
35
|
+
* Whether to auto-set CANOPY_BOOTSTRAP_ADMIN_IDS for the admin dev user
|
|
36
|
+
* when the env var is not already set. Defaults to true.
|
|
37
|
+
*/
|
|
38
|
+
autoBootstrapAdmin?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare const DEFAULT_USERS: DevUser[];
|
|
41
|
+
export declare const DEFAULT_GROUPS: DevGroup[];
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const DEV_ADMIN_USER_ID = 'dev_admin_3xY6zW1qR5';
|
|
2
|
+
export const DEFAULT_USERS = [
|
|
3
|
+
{
|
|
4
|
+
userId: 'dev_user1_2nK8mP4xL9',
|
|
5
|
+
name: 'User One',
|
|
6
|
+
email: 'user1@localhost.dev',
|
|
7
|
+
externalGroups: ['team-a', 'team-b'],
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
userId: 'dev_user2_7qR3tY6wN2',
|
|
11
|
+
name: 'User Two',
|
|
12
|
+
email: 'user2@localhost.dev',
|
|
13
|
+
externalGroups: ['team-b'],
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
userId: 'dev_user3_5vS1pM8kJ4',
|
|
17
|
+
name: 'User Three',
|
|
18
|
+
email: 'user3@localhost.dev',
|
|
19
|
+
externalGroups: ['team-c'],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
userId: 'dev_reviewer_9aB4cD2eF7',
|
|
23
|
+
name: 'Reviewer One',
|
|
24
|
+
email: 'reviewer1@localhost.dev',
|
|
25
|
+
externalGroups: ['team-a'],
|
|
26
|
+
// Note: 'Reviewers' membership comes from internal groups file, not auth plugin
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
userId: DEV_ADMIN_USER_ID,
|
|
30
|
+
name: 'Admin One',
|
|
31
|
+
email: 'admin1@localhost.dev',
|
|
32
|
+
externalGroups: ['team-a', 'team-b', 'team-c'],
|
|
33
|
+
// Note: Does NOT include 'Admins' - that's applied by bootstrap admin config or auto-bootstrap
|
|
34
|
+
},
|
|
35
|
+
];
|
|
36
|
+
export const DEFAULT_GROUPS = [
|
|
37
|
+
{ id: 'team-a', name: 'Team A', description: 'Team A' },
|
|
38
|
+
{ id: 'team-b', name: 'Team B', description: 'Team B' },
|
|
39
|
+
{ id: 'team-c', name: 'Team C', description: 'Team C' },
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=dev-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-defaults.js","sourceRoot":"","sources":["../src/dev-defaults.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,iBAAiB,GAAiB,sBAAsB,CAAA;AA0BrE,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC;QACE,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,qBAAqB;QAC5B,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACrC;IACD;QACE,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,qBAAqB;QAC5B,cAAc,EAAE,CAAC,QAAQ,CAAC;KAC3B;IACD;QACE,MAAM,EAAE,sBAAsB;QAC9B,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,qBAAqB;QAC5B,cAAc,EAAE,CAAC,QAAQ,CAAC;KAC3B;IACD;QACE,MAAM,EAAE,yBAAyB;QACjC,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,yBAAyB;QAChC,cAAc,EAAE,CAAC,QAAQ,CAAC;QAC1B,gFAAgF;KACjF;IACD;QACE,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,sBAAsB;QAC7B,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC9C,+FAA+F;KAChG;CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;IACvD,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;IACvD,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;CACxD,CAAA"}
|
package/dist/dev-plugin.d.ts
CHANGED
|
@@ -1,45 +1,10 @@
|
|
|
1
1
|
import type { AuthPlugin } from 'canopycms/auth';
|
|
2
2
|
import type { UserSearchResult, GroupMetadata, AuthenticationResult } from 'canopycms/auth';
|
|
3
3
|
import type { CanopyUserId, CanopyGroupId } from 'canopycms';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export interface DevUser {
|
|
9
|
-
userId: CanopyUserId;
|
|
10
|
-
name: string;
|
|
11
|
-
email: string;
|
|
12
|
-
avatarUrl?: string;
|
|
13
|
-
externalGroups: CanopyGroupId[];
|
|
14
|
-
}
|
|
15
|
-
export interface DevGroup {
|
|
16
|
-
id: CanopyGroupId;
|
|
17
|
-
name: string;
|
|
18
|
-
description?: string;
|
|
19
|
-
}
|
|
20
|
-
export declare const DEV_ADMIN_USER_ID: CanopyUserId;
|
|
21
|
-
export interface DevAuthConfig {
|
|
22
|
-
/**
|
|
23
|
-
* Custom mock users. If not provided, uses default users.
|
|
24
|
-
*/
|
|
25
|
-
users?: DevUser[];
|
|
26
|
-
/**
|
|
27
|
-
* Custom mock groups. If not provided, uses default groups.
|
|
28
|
-
*/
|
|
29
|
-
groups?: DevGroup[];
|
|
30
|
-
/**
|
|
31
|
-
* Default user ID when no user is selected.
|
|
32
|
-
* @default 'dev_user1_2nK8mP4xL9' (user1)
|
|
33
|
-
*/
|
|
34
|
-
defaultUserId?: CanopyUserId;
|
|
35
|
-
/**
|
|
36
|
-
* Whether to auto-set CANOPY_BOOTSTRAP_ADMIN_IDS for the admin dev user
|
|
37
|
-
* when the env var is not already set. Defaults to true.
|
|
38
|
-
*/
|
|
39
|
-
autoBootstrapAdmin?: boolean;
|
|
40
|
-
}
|
|
41
|
-
export declare const DEFAULT_USERS: DevUser[];
|
|
42
|
-
export declare const DEFAULT_GROUPS: DevGroup[];
|
|
4
|
+
import { DEFAULT_USERS, DEFAULT_GROUPS, DEV_ADMIN_USER_ID } from './dev-defaults';
|
|
5
|
+
import type { DevUser, DevGroup, DevAuthConfig } from './dev-defaults';
|
|
6
|
+
export type { DevUser, DevGroup, DevAuthConfig };
|
|
7
|
+
export { DEFAULT_USERS, DEFAULT_GROUPS, DEV_ADMIN_USER_ID };
|
|
43
8
|
/**
|
|
44
9
|
* Dev authentication plugin implementation for CanopyCMS.
|
|
45
10
|
* Supports both cookie-based (UI) and header-based (tests) authentication.
|
|
@@ -65,6 +30,10 @@ export declare class DevAuthPlugin implements AuthPlugin {
|
|
|
65
30
|
id: CanopyGroupId;
|
|
66
31
|
name: string;
|
|
67
32
|
}>>;
|
|
33
|
+
createCacheRefresher(cachePath: string): () => Promise<{
|
|
34
|
+
userCount: number;
|
|
35
|
+
groupCount: number;
|
|
36
|
+
}>;
|
|
68
37
|
}
|
|
69
38
|
/**
|
|
70
39
|
* Factory function for creating dev auth plugin.
|
package/dist/dev-plugin.js
CHANGED
|
@@ -1,45 +1,7 @@
|
|
|
1
1
|
import { extractHeaders } from 'canopycms/auth';
|
|
2
2
|
import { getDevUserCookieFromHeaders } from './cookie-utils';
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
{
|
|
6
|
-
userId: 'dev_user1_2nK8mP4xL9',
|
|
7
|
-
name: 'User One',
|
|
8
|
-
email: 'user1@localhost.dev',
|
|
9
|
-
externalGroups: ['team-a', 'team-b'],
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
userId: 'dev_user2_7qR3tY6wN2',
|
|
13
|
-
name: 'User Two',
|
|
14
|
-
email: 'user2@localhost.dev',
|
|
15
|
-
externalGroups: ['team-b'],
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
userId: 'dev_user3_5vS1pM8kJ4',
|
|
19
|
-
name: 'User Three',
|
|
20
|
-
email: 'user3@localhost.dev',
|
|
21
|
-
externalGroups: ['team-c'],
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
userId: 'dev_reviewer_9aB4cD2eF7',
|
|
25
|
-
name: 'Reviewer One',
|
|
26
|
-
email: 'reviewer1@localhost.dev',
|
|
27
|
-
externalGroups: ['team-a'],
|
|
28
|
-
// Note: 'Reviewers' membership comes from internal groups file, not auth plugin
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
userId: DEV_ADMIN_USER_ID,
|
|
32
|
-
name: 'Admin One',
|
|
33
|
-
email: 'admin1@localhost.dev',
|
|
34
|
-
externalGroups: ['team-a', 'team-b', 'team-c'],
|
|
35
|
-
// Note: Does NOT include 'Admins' - that's applied by bootstrap admin config or auto-bootstrap
|
|
36
|
-
},
|
|
37
|
-
];
|
|
38
|
-
export const DEFAULT_GROUPS = [
|
|
39
|
-
{ id: 'team-a', name: 'Team A', description: 'Team A' },
|
|
40
|
-
{ id: 'team-b', name: 'Team B', description: 'Team B' },
|
|
41
|
-
{ id: 'team-c', name: 'Team C', description: 'Team C' },
|
|
42
|
-
];
|
|
3
|
+
import { DEFAULT_USERS, DEFAULT_GROUPS, DEV_ADMIN_USER_ID } from './dev-defaults';
|
|
4
|
+
export { DEFAULT_USERS, DEFAULT_GROUPS, DEV_ADMIN_USER_ID };
|
|
43
5
|
/**
|
|
44
6
|
* Dev authentication plugin implementation for CanopyCMS.
|
|
45
7
|
* Supports both cookie-based (UI) and header-based (tests) authentication.
|
|
@@ -157,6 +119,14 @@ export class DevAuthPlugin {
|
|
|
157
119
|
name: g.name,
|
|
158
120
|
}));
|
|
159
121
|
}
|
|
122
|
+
createCacheRefresher(cachePath) {
|
|
123
|
+
const users = this.users;
|
|
124
|
+
const groups = this.groups;
|
|
125
|
+
return async () => {
|
|
126
|
+
const { refreshDevCache } = await import('./cache-writer');
|
|
127
|
+
return refreshDevCache({ cachePath, users, groups });
|
|
128
|
+
};
|
|
129
|
+
}
|
|
160
130
|
}
|
|
161
131
|
/**
|
|
162
132
|
* Factory function for creating dev auth plugin.
|
package/dist/dev-plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-plugin.js","sourceRoot":"","sources":["../src/dev-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"dev-plugin.js","sourceRoot":"","sources":["../src/dev-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { createDevAuthPlugin, DevAuthPlugin
|
|
2
|
-
export
|
|
1
|
+
export { createDevAuthPlugin, DevAuthPlugin } from './dev-plugin';
|
|
2
|
+
export { DEFAULT_USERS, DEFAULT_GROUPS, DEV_ADMIN_USER_ID } from './dev-defaults';
|
|
3
|
+
export type { DevAuthConfig, DevUser, DevGroup } from './dev-defaults';
|
|
3
4
|
export { createDevTokenVerifier } from './jwt-verifier';
|
|
4
5
|
export { refreshDevCache } from './cache-writer';
|
|
5
6
|
export type { RefreshDevCacheOptions } from './cache-writer';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { createDevAuthPlugin, DevAuthPlugin
|
|
1
|
+
export { createDevAuthPlugin, DevAuthPlugin } from './dev-plugin';
|
|
2
|
+
export { DEFAULT_USERS, DEFAULT_GROUPS, DEV_ADMIN_USER_ID } from './dev-defaults';
|
|
2
3
|
export { createDevTokenVerifier } from './jwt-verifier';
|
|
3
4
|
export { refreshDevCache } from './cache-writer';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/jwt-verifier.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { extractHeaders } from 'canopycms/auth';
|
|
2
2
|
import { getDevUserCookieFromHeaders, DEFAULT_USER_ID } from './cookie-utils';
|
|
3
|
-
import { DEV_ADMIN_USER_ID } from './dev-
|
|
3
|
+
import { DEV_ADMIN_USER_ID } from './dev-defaults';
|
|
4
4
|
/**
|
|
5
5
|
* Test user key → dev user ID mapping.
|
|
6
6
|
* Matches the mapping in DevAuthPlugin.mapTestUserKey().
|
package/dist/jwt-verifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-verifier.js","sourceRoot":"","sources":["../src/jwt-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"jwt-verifier.js","sourceRoot":"","sources":["../src/jwt-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;GAGG;AACH,MAAM,aAAa,GAA2B;IAC5C,KAAK,EAAE,iBAAiB;IACxB,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,sBAAsB;IAC9B,QAAQ,EAAE,yBAAyB;CACpC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAoC;IACzE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,eAAe,CAAA;IAE/D,OAAO,KAAK,EAAE,OAAgB,EAAE,EAAE;QAChC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAEzB,wDAAwD;QACxD,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,aAAa,CAAA;QACxB,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;QAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC3B,CAAC,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "canopycms-auth-dev",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Development authentication provider for CanopyCMS",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "https://github.com/safeinsights/canopycms.git",
|
|
8
|
+
"url": "git+https://github.com/safeinsights/canopycms.git",
|
|
9
9
|
"directory": "packages/canopycms-auth-dev"
|
|
10
10
|
},
|
|
11
11
|
"private": false,
|
|
@@ -13,49 +13,45 @@
|
|
|
13
13
|
"main": "dist/index.js",
|
|
14
14
|
"types": "dist/index.d.ts",
|
|
15
15
|
"exports": {
|
|
16
|
-
".":
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
".": {
|
|
17
|
+
"import": "./dist/index.js",
|
|
18
|
+
"types": "./dist/index.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"./client": {
|
|
21
|
+
"import": "./dist/client.js",
|
|
22
|
+
"types": "./dist/client.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./cache-writer": {
|
|
25
|
+
"import": "./dist/cache-writer.js",
|
|
26
|
+
"types": "./dist/cache-writer.d.ts"
|
|
27
|
+
}
|
|
19
28
|
},
|
|
20
29
|
"files": [
|
|
21
30
|
"dist"
|
|
22
31
|
],
|
|
23
|
-
"publishConfig": {
|
|
24
|
-
"exports": {
|
|
25
|
-
".": {
|
|
26
|
-
"import": "./dist/index.js",
|
|
27
|
-
"types": "./dist/index.d.ts"
|
|
28
|
-
},
|
|
29
|
-
"./client": {
|
|
30
|
-
"import": "./dist/client.js",
|
|
31
|
-
"types": "./dist/client.d.ts"
|
|
32
|
-
},
|
|
33
|
-
"./cache-writer": {
|
|
34
|
-
"import": "./dist/cache-writer.js",
|
|
35
|
-
"types": "./dist/cache-writer.d.ts"
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
"scripts": {
|
|
40
|
-
"build": "tsc -p tsconfig.build.json",
|
|
41
|
-
"test": "vitest run --reporter=dot",
|
|
42
|
-
"typecheck": "tsc --noEmit"
|
|
43
|
-
},
|
|
44
32
|
"engines": {
|
|
45
33
|
"node": ">=18"
|
|
46
34
|
},
|
|
47
35
|
"peerDependencies": {
|
|
48
|
-
"canopycms": "^0.0.
|
|
36
|
+
"canopycms": "^0.0.6",
|
|
49
37
|
"react": "^18.0.0 || ^19.0.0",
|
|
50
|
-
"@mantine/core": "^7.0.0",
|
|
51
|
-
"@mantine/hooks": "^7.0.0",
|
|
52
|
-
"@mantine/modals": "^7.0.0",
|
|
38
|
+
"@mantine/core": "^7.0.0 || ^8.0.0",
|
|
53
39
|
"react-icons": "^5.0.0"
|
|
54
40
|
},
|
|
55
41
|
"devDependencies": {
|
|
42
|
+
"@mantine/core": "^7.0.0",
|
|
56
43
|
"@types/node": "^22.9.0",
|
|
57
|
-
"@types/react": "^18.
|
|
44
|
+
"@types/react": "^18.3.12",
|
|
45
|
+
"canopycms": "^0.0.6",
|
|
46
|
+
"react": "^18.3.1",
|
|
47
|
+
"react-icons": "^5.0.0",
|
|
58
48
|
"typescript": "^5.6.3",
|
|
59
49
|
"vitest": "^1.6.0"
|
|
50
|
+
},
|
|
51
|
+
"scripts": {
|
|
52
|
+
"build": "tsc -p tsconfig.build.json",
|
|
53
|
+
"lint": "eslint src/",
|
|
54
|
+
"test": "vitest run --reporter=dot",
|
|
55
|
+
"typecheck": "tsc --noEmit"
|
|
60
56
|
}
|
|
61
|
-
}
|
|
57
|
+
}
|