@payloadcms/figma 0.0.1-alpha.62 → 0.0.1-alpha.63
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/auth/crypto-utils.d.ts +11 -0
- package/dist/auth/crypto-utils.js +51 -0
- package/dist/auth/oauth-flow.js +3 -3
- package/dist/auth/project-token.d.ts +17 -6
- package/dist/auth/project-token.js +37 -19
- package/dist/auth/token-store-migration.d.ts +58 -0
- package/dist/auth/token-store-migration.js +156 -0
- package/dist/auth/token-store.d.ts +51 -128
- package/dist/auth/token-store.js +326 -187
- package/dist/auth/types.d.ts +8 -1
- package/dist/cli.js +6 -0
- package/dist/commands/debug.js +16 -12
- package/dist/commands/dump-tokens.d.ts +12 -0
- package/dist/commands/dump-tokens.js +69 -0
- package/dist/commands/init.js +7 -3
- package/dist/commands/list-tokens.js +2 -2
- package/dist/commands/login.js +1 -1
- package/dist/commands/logout.js +23 -4
- package/dist/db-content-api/utilities/auth.js +4 -1
- package/dist/oauth/defaults.d.ts +3 -1
- package/dist/oauth/defaults.js +6 -5
- package/dist/oauth/endpoints/getLoginEndpoint.js +1 -1
- package/dist/oauth/index.js +1 -0
- package/dist/oauth/types.d.ts +10 -0
- package/dist/plugin/auth-preflight.d.ts +8 -0
- package/dist/plugin/auth-preflight.js +20 -0
- package/dist/plugin/bootstrap-preflight.d.ts +23 -0
- package/dist/plugin/bootstrap-preflight.js +45 -0
- package/dist/plugin/build-config.js +73 -12
- package/dist/plugin/dev-cookie-names.d.ts +14 -0
- package/dist/plugin/dev-cookie-names.js +19 -0
- package/dist/storage-content-api/client.js +4 -1
- package/dist/utils/token-display.d.ts +5 -1
- package/dist/utils/token-display.js +47 -26
- package/package.json +2 -1
|
@@ -18,7 +18,10 @@ function createStorageAuthMiddleware(config) {
|
|
|
18
18
|
if (auth.mode === 'apiKey') {
|
|
19
19
|
request.headers.set('X-Api-Key', auth.apiKey);
|
|
20
20
|
} else if (auth.mode === 'tokenStore') {
|
|
21
|
-
const token = await getValidProjectToken(
|
|
21
|
+
const token = await getValidProjectToken({
|
|
22
|
+
tenantId: contentSystemId,
|
|
23
|
+
tokenStore: auth.tokenStore
|
|
24
|
+
});
|
|
22
25
|
if (!token) {
|
|
23
26
|
throw new Error('Authentication required. Run `npx @payloadcms/figma login` to authenticate.');
|
|
24
27
|
}
|
|
@@ -8,7 +8,11 @@ export declare function maskToken(token: string): string;
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function formatTimestamp(timestamp: number): string;
|
|
10
10
|
/**
|
|
11
|
-
* Show
|
|
11
|
+
* Show the project token for the current project + environment scope.
|
|
12
|
+
*
|
|
13
|
+
* Resolves `projectId` and `environmentName` from env vars
|
|
14
|
+
* (`FIGMA_PROJECT_ID`, `FIGMA_ENVIRONMENT_NAME`) — the *user's* project
|
|
15
|
+
* environment, which is independent of the infra env (production/staging).
|
|
12
16
|
*/
|
|
13
17
|
export declare function showProjectTokens(tokenStore: TokenStore): void;
|
|
14
18
|
//# sourceMappingURL=token-display.d.ts.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as p from '@clack/prompts';
|
|
2
2
|
import pc from 'picocolors';
|
|
3
|
+
import { getEnvVarSync } from './env-management.js';
|
|
3
4
|
import { isDebug } from './is-debug.js';
|
|
4
5
|
/**
|
|
5
6
|
* Mask token for display (show first 4 and last 4 characters)
|
|
@@ -32,38 +33,58 @@ import { isDebug } from './is-debug.js';
|
|
|
32
33
|
return pc.red(`${minutes}m`);
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
35
|
-
* Show
|
|
36
|
+
* Show the project token for the current project + environment scope.
|
|
37
|
+
*
|
|
38
|
+
* Resolves `projectId` and `environmentName` from env vars
|
|
39
|
+
* (`FIGMA_PROJECT_ID`, `FIGMA_ENVIRONMENT_NAME`) — the *user's* project
|
|
40
|
+
* environment, which is independent of the infra env (production/staging).
|
|
36
41
|
*/ export function showProjectTokens(tokenStore) {
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
const cwd = process.cwd();
|
|
43
|
+
const projectId = getEnvVarSync(cwd, 'FIGMA_PROJECT_ID');
|
|
44
|
+
const environmentName = getEnvVarSync(cwd, 'FIGMA_ENVIRONMENT_NAME');
|
|
45
|
+
if (!projectId || !environmentName) {
|
|
46
|
+
p.note(pc.dim('Set FIGMA_PROJECT_ID and FIGMA_ENVIRONMENT_NAME in your .env to view project tokens.'), 'Project Tokens');
|
|
41
47
|
return;
|
|
42
48
|
}
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
const header = [
|
|
50
|
+
`Project ID: ${projectId}`,
|
|
51
|
+
`Environment: ${environmentName}`
|
|
52
|
+
];
|
|
53
|
+
const bootstrapData = tokenStore.getBootstrapData(projectId, environmentName);
|
|
54
|
+
if (!bootstrapData) {
|
|
55
|
+
p.note([
|
|
56
|
+
...header,
|
|
57
|
+
pc.dim('No bootstrap data. Run `@payloadcms/figma init` to set up.')
|
|
58
|
+
].join('\n'), 'Project Token');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const projectInfo = {
|
|
62
|
+
environmentName,
|
|
63
|
+
projectId
|
|
64
|
+
};
|
|
65
|
+
const projectToken = tokenStore.getProjectToken({
|
|
66
|
+
projectInfo
|
|
60
67
|
});
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
if (!projectToken) {
|
|
69
|
+
p.note([
|
|
70
|
+
...header,
|
|
71
|
+
`Tenant ID: ${bootstrapData.contentSystemId}`,
|
|
72
|
+
pc.dim('No stored token.')
|
|
73
|
+
].join('\n'), 'Project Token');
|
|
64
74
|
return;
|
|
65
75
|
}
|
|
66
|
-
|
|
76
|
+
const isValid = tokenStore.hasValidProjectToken({
|
|
77
|
+
projectInfo
|
|
78
|
+
});
|
|
79
|
+
const status = isValid ? pc.green('✓ Valid') : pc.red('✗ Expired');
|
|
80
|
+
const projectTokenLines = [
|
|
81
|
+
...header,
|
|
82
|
+
`Tenant ID: ${bootstrapData.contentSystemId}`,
|
|
83
|
+
`Status: ${status}`,
|
|
84
|
+
`Token: ${isDebug() ? projectToken.token : maskToken(projectToken.token)}`,
|
|
85
|
+
`Expires: ${formatTimestamp(projectToken.expiresAt)}`
|
|
86
|
+
];
|
|
87
|
+
p.note(projectTokenLines.join('\n'), 'Project Token');
|
|
67
88
|
}
|
|
68
89
|
|
|
69
90
|
//# sourceMappingURL=token-display.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/figma",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.63",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"arg": "^5.0.2",
|
|
35
35
|
"conf": "^13.1.0",
|
|
36
36
|
"cross-spawn": "7.0.6",
|
|
37
|
+
"env-paths": "^3.0.0",
|
|
37
38
|
"figures": "^6.1.0",
|
|
38
39
|
"jose": "6.0.12",
|
|
39
40
|
"jsonwebtoken": "9.0.3",
|