@portaidentity/sdk 1.7.3 → 1.9.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/CHANGELOG.md +27 -0
- package/README.md +70 -41
- package/dist/agent.d.ts +15 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +473 -69
- package/dist/agent.js.map +1 -1
- package/dist/auth/cli-auth.d.ts +45 -71
- package/dist/auth/cli-auth.d.ts.map +1 -1
- package/dist/auth/cli-auth.js +208 -144
- package/dist/auth/cli-auth.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/domains/applications.d.ts +22 -3
- package/dist/domains/applications.d.ts.map +1 -1
- package/dist/domains/applications.js +90 -20
- package/dist/domains/applications.js.map +1 -1
- package/dist/domains/branding.d.ts +47 -16
- package/dist/domains/branding.d.ts.map +1 -1
- package/dist/domains/branding.js +28 -5
- package/dist/domains/branding.js.map +1 -1
- package/dist/domains/clients.d.ts +23 -6
- package/dist/domains/clients.d.ts.map +1 -1
- package/dist/domains/clients.js +122 -21
- package/dist/domains/clients.js.map +1 -1
- package/dist/domains/config.d.ts +20 -3
- package/dist/domains/config.d.ts.map +1 -1
- package/dist/domains/config.js +30 -3
- package/dist/domains/config.js.map +1 -1
- package/dist/domains/custom-claims.d.ts +2 -1
- package/dist/domains/custom-claims.d.ts.map +1 -1
- package/dist/domains/custom-claims.js +2 -2
- package/dist/domains/custom-claims.js.map +1 -1
- package/dist/domains/exports.d.ts +6 -1
- package/dist/domains/exports.d.ts.map +1 -1
- package/dist/domains/exports.js +27 -1
- package/dist/domains/exports.js.map +1 -1
- package/dist/domains/helpers.d.ts +31 -0
- package/dist/domains/helpers.d.ts.map +1 -1
- package/dist/domains/helpers.js +72 -1
- package/dist/domains/helpers.js.map +1 -1
- package/dist/domains/imports.d.ts +8 -7
- package/dist/domains/imports.d.ts.map +1 -1
- package/dist/domains/imports.js +158 -14
- package/dist/domains/imports.js.map +1 -1
- package/dist/domains/index.d.ts +1 -1
- package/dist/domains/index.d.ts.map +1 -1
- package/dist/domains/organizations.d.ts +2 -9
- package/dist/domains/organizations.d.ts.map +1 -1
- package/dist/domains/organizations.js +2 -13
- package/dist/domains/organizations.js.map +1 -1
- package/dist/domains/permissions.d.ts +22 -4
- package/dist/domains/permissions.d.ts.map +1 -1
- package/dist/domains/permissions.js +47 -13
- package/dist/domains/permissions.js.map +1 -1
- package/dist/domains/roles.d.ts +26 -16
- package/dist/domains/roles.d.ts.map +1 -1
- package/dist/domains/roles.js +61 -31
- package/dist/domains/roles.js.map +1 -1
- package/dist/domains/user-roles.d.ts +9 -4
- package/dist/domains/user-roles.d.ts.map +1 -1
- package/dist/domains/user-roles.js +32 -6
- package/dist/domains/user-roles.js.map +1 -1
- package/dist/domains/users.d.ts +31 -26
- package/dist/domains/users.d.ts.map +1 -1
- package/dist/domains/users.js +56 -46
- package/dist/domains/users.js.map +1 -1
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +18 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/pagination/index.d.ts +5 -1
- package/dist/pagination/index.d.ts.map +1 -1
- package/dist/pagination/index.js +2 -2
- package/dist/pagination/index.js.map +1 -1
- package/dist/types/applications.d.ts +27 -6
- package/dist/types/applications.d.ts.map +1 -1
- package/dist/types/branding.d.ts +38 -11
- package/dist/types/branding.d.ts.map +1 -1
- package/dist/types/branding.js +0 -5
- package/dist/types/branding.js.map +1 -1
- package/dist/types/bulk.d.ts +2 -4
- package/dist/types/bulk.d.ts.map +1 -1
- package/dist/types/clients.d.ts +104 -13
- package/dist/types/clients.d.ts.map +1 -1
- package/dist/types/common.d.ts +26 -3
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/config.d.ts +57 -21
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -8
- package/dist/types/config.js.map +1 -1
- package/dist/types/exports.d.ts +17 -0
- package/dist/types/exports.d.ts.map +1 -1
- package/dist/types/imports.d.ts +390 -84
- package/dist/types/imports.d.ts.map +1 -1
- package/dist/types/imports.js +1 -7
- package/dist/types/imports.js.map +1 -1
- package/dist/types/index.d.ts +14 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/organizations.d.ts +5 -9
- package/dist/types/organizations.d.ts.map +1 -1
- package/dist/types/permissions.d.ts +21 -6
- package/dist/types/permissions.d.ts.map +1 -1
- package/dist/types/roles.d.ts +3 -1
- package/dist/types/roles.d.ts.map +1 -1
- package/dist/types/user-roles.d.ts +4 -10
- package/dist/types/user-roles.d.ts.map +1 -1
- package/dist/types/users.d.ts +102 -15
- package/dist/types/users.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -2
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/cli-auth.d.ts
CHANGED
|
@@ -1,83 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Authentication backed by credentials created by the Porta CLI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Key behaviors:
|
|
9
|
-
* - Reads credentials file on first `getToken()` call, caches in memory
|
|
10
|
-
* - Checks `expiresAt` with 60s safety buffer to detect near-expired tokens
|
|
11
|
-
* - `refreshToken()` re-reads the file (CLI may have refreshed) then
|
|
12
|
-
* POSTs refresh_token grant to the token endpoint
|
|
13
|
-
* - Does NOT write back to the credentials file — only the CLI writes
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* import { createCliAuth } from '@portaidentity/sdk';
|
|
18
|
-
*
|
|
19
|
-
* // Uses default ~/.porta/credentials.json
|
|
20
|
-
* const auth = createCliAuth();
|
|
21
|
-
* const client = createPortaClient({ baseUrl: '...', auth });
|
|
22
|
-
*
|
|
23
|
-
* // Custom path for testing
|
|
24
|
-
* const auth2 = createCliAuth({ credentialsPath: '/tmp/test-creds.json' });
|
|
25
|
-
* ```
|
|
4
|
+
* The default provider remains memory-only. CLI consumers may opt into a
|
|
5
|
+
* transaction that persists refresh-token rotation before a new access token
|
|
6
|
+
* becomes observable.
|
|
26
7
|
*
|
|
27
8
|
* @module auth/cli-auth
|
|
28
9
|
*/
|
|
29
10
|
import type { AuthProvider } from './types.js';
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
*/
|
|
11
|
+
/** Consumer-owned persistence hooks for a durable refresh transaction. */
|
|
12
|
+
export interface CliCredentialPersistence {
|
|
13
|
+
/** Runs an operation while holding the consumer's refresh lock. */
|
|
14
|
+
readonly withRefreshLock: <T>(operation: () => Promise<T>) => Promise<T>;
|
|
15
|
+
/** Atomically replaces the previous stored snapshot with the refreshed one. */
|
|
16
|
+
readonly persistRefreshedCredentials: (previous: StoredCredentials, refreshed: StoredCredentials) => Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
/** Options for creating a CLI credential authentication provider. */
|
|
33
19
|
export interface CliAuthOptions {
|
|
34
|
-
/** Path to credentials file
|
|
35
|
-
credentialsPath?: string;
|
|
20
|
+
/** Path to the credentials file. Defaults to `~/.porta/credentials.json`. */
|
|
21
|
+
readonly credentialsPath?: string;
|
|
22
|
+
/** Optional durable persistence supplied by the CLI. */
|
|
23
|
+
readonly credentialPersistence?: CliCredentialPersistence;
|
|
24
|
+
/** Optional caller-owned cancellation for refresh network requests. */
|
|
25
|
+
readonly signal?: AbortSignal;
|
|
36
26
|
}
|
|
37
|
-
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
/** User identity retained in the CLI credential snapshot. */
|
|
28
|
+
export interface StoredUserInfo {
|
|
29
|
+
/** Stable OIDC subject identifier. */
|
|
30
|
+
readonly sub: string;
|
|
31
|
+
/** Display email accepted during login. */
|
|
32
|
+
readonly email: string;
|
|
33
|
+
/** Optional display name accepted during login. */
|
|
34
|
+
readonly name?: string;
|
|
35
|
+
}
|
|
36
|
+
/** Credentials written by `porta login` and consumed by the SDK. */
|
|
43
37
|
export interface StoredCredentials {
|
|
44
|
-
/** Porta server
|
|
45
|
-
server: string;
|
|
46
|
-
/** Organization slug
|
|
47
|
-
orgSlug: string;
|
|
48
|
-
/** OIDC
|
|
49
|
-
clientId: string;
|
|
50
|
-
/**
|
|
51
|
-
accessToken: string;
|
|
52
|
-
/**
|
|
53
|
-
refreshToken
|
|
54
|
-
/**
|
|
55
|
-
idToken: string;
|
|
56
|
-
/** ISO
|
|
57
|
-
expiresAt: string;
|
|
58
|
-
/**
|
|
59
|
-
userInfo:
|
|
60
|
-
/** OIDC subject identifier (user ID) */
|
|
61
|
-
sub: string;
|
|
62
|
-
/** User email address */
|
|
63
|
-
email: string;
|
|
64
|
-
/** User display name */
|
|
65
|
-
name?: string;
|
|
66
|
-
};
|
|
38
|
+
/** Porta server origin. */
|
|
39
|
+
readonly server: string;
|
|
40
|
+
/** Organization slug used by the CLI client. */
|
|
41
|
+
readonly orgSlug: string;
|
|
42
|
+
/** Public OIDC client identifier. */
|
|
43
|
+
readonly clientId: string;
|
|
44
|
+
/** Current bearer access token. */
|
|
45
|
+
readonly accessToken: string;
|
|
46
|
+
/** Optional refresh token; omission means interactive login is required. */
|
|
47
|
+
readonly refreshToken?: string;
|
|
48
|
+
/** Last validated ID token. */
|
|
49
|
+
readonly idToken: string;
|
|
50
|
+
/** ISO timestamp at which the access token expires. */
|
|
51
|
+
readonly expiresAt: string;
|
|
52
|
+
/** Last validated display identity. */
|
|
53
|
+
readonly userInfo: StoredUserInfo;
|
|
67
54
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Creates a CLI credentials authentication provider.
|
|
70
|
-
*
|
|
71
|
-
* Returns an {@link AuthProvider} that reads the Porta CLI's stored
|
|
72
|
-
* credentials file and uses them for API authentication. The provider
|
|
73
|
-
* caches credentials in memory and handles token refresh transparently.
|
|
74
|
-
*
|
|
75
|
-
* **Important:** This provider does NOT write back to the credentials file.
|
|
76
|
-
* Only the CLI (`porta login`, `porta logout`) manages the file. The SDK
|
|
77
|
-
* refreshes tokens in-memory only.
|
|
78
|
-
*
|
|
79
|
-
* @param options - Optional configuration (credentials file path)
|
|
80
|
-
* @returns An AuthProvider backed by CLI stored credentials
|
|
81
|
-
*/
|
|
55
|
+
/** Creates an authentication provider over the Porta CLI credential file. */
|
|
82
56
|
export declare function createCliAuth(options?: CliAuthOptions): AuthProvider;
|
|
83
57
|
//# sourceMappingURL=cli-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-auth.d.ts","sourceRoot":"","sources":["../../src/auth/cli-auth.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cli-auth.d.ts","sourceRoot":"","sources":["../../src/auth/cli-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACvC,mEAAmE;IACnE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,+EAA+E;IAC/E,QAAQ,CAAC,2BAA2B,EAAE,CACpC,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,iBAAiB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wDAAwD;IACxD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IAC1D,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;CACnC;AA6HD,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,YAAY,CAmKxE"}
|
package/dist/auth/cli-auth.js
CHANGED
|
@@ -1,187 +1,251 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Authentication backed by credentials created by the Porta CLI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Key behaviors:
|
|
9
|
-
* - Reads credentials file on first `getToken()` call, caches in memory
|
|
10
|
-
* - Checks `expiresAt` with 60s safety buffer to detect near-expired tokens
|
|
11
|
-
* - `refreshToken()` re-reads the file (CLI may have refreshed) then
|
|
12
|
-
* POSTs refresh_token grant to the token endpoint
|
|
13
|
-
* - Does NOT write back to the credentials file — only the CLI writes
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```typescript
|
|
17
|
-
* import { createCliAuth } from '@portaidentity/sdk';
|
|
18
|
-
*
|
|
19
|
-
* // Uses default ~/.porta/credentials.json
|
|
20
|
-
* const auth = createCliAuth();
|
|
21
|
-
* const client = createPortaClient({ baseUrl: '...', auth });
|
|
22
|
-
*
|
|
23
|
-
* // Custom path for testing
|
|
24
|
-
* const auth2 = createCliAuth({ credentialsPath: '/tmp/test-creds.json' });
|
|
25
|
-
* ```
|
|
4
|
+
* The default provider remains memory-only. CLI consumers may opt into a
|
|
5
|
+
* transaction that persists refresh-token rotation before a new access token
|
|
6
|
+
* becomes observable.
|
|
26
7
|
*
|
|
27
8
|
* @module auth/cli-auth
|
|
28
9
|
*/
|
|
29
10
|
import { readFile } from 'node:fs/promises';
|
|
30
|
-
import { join } from 'node:path';
|
|
31
11
|
import { homedir } from 'node:os';
|
|
12
|
+
import { join } from 'node:path';
|
|
32
13
|
import { PortaAuthenticationError } from '../errors/index.js';
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
14
|
+
const DEFAULT_CREDENTIALS_PATH = join(homedir(), '.porta', 'credentials.json');
|
|
15
|
+
const EXPIRY_BUFFER_MS = 60_000;
|
|
16
|
+
const ORGANIZATION_SLUG = /^[a-z0-9][a-z0-9-]{1,98}[a-z0-9]$/;
|
|
17
|
+
/** Creates a categorized authentication error without exposing remote detail. */
|
|
18
|
+
function authenticationError(message, code) {
|
|
19
|
+
const error = new PortaAuthenticationError({ message });
|
|
20
|
+
if (code) {
|
|
21
|
+
Object.defineProperty(error, 'code', { configurable: true, enumerable: true, value: code });
|
|
22
|
+
}
|
|
23
|
+
return error;
|
|
24
|
+
}
|
|
25
|
+
/** Returns true when a value is a non-empty string. */
|
|
26
|
+
function isNonEmptyString(value) {
|
|
27
|
+
return typeof value === 'string' && value.length > 0;
|
|
28
|
+
}
|
|
29
|
+
/** Validates untrusted JSON as a complete stored credential snapshot. */
|
|
30
|
+
function parseStoredCredentials(value) {
|
|
31
|
+
if (!value || typeof value !== 'object') {
|
|
32
|
+
throw authenticationError("Invalid credentials: missing required fields. Run 'porta login' again.");
|
|
33
|
+
}
|
|
34
|
+
const candidate = value;
|
|
35
|
+
const userInfo = candidate.userInfo;
|
|
36
|
+
if (!isNonEmptyString(candidate.server) ||
|
|
37
|
+
!isNonEmptyString(candidate.orgSlug) ||
|
|
38
|
+
!ORGANIZATION_SLUG.test(candidate.orgSlug) ||
|
|
39
|
+
!isNonEmptyString(candidate.clientId) ||
|
|
40
|
+
!isNonEmptyString(candidate.accessToken) ||
|
|
41
|
+
(candidate.refreshToken !== undefined && typeof candidate.refreshToken !== 'string') ||
|
|
42
|
+
!isNonEmptyString(candidate.idToken) ||
|
|
43
|
+
!isNonEmptyString(candidate.expiresAt) ||
|
|
44
|
+
Number.isNaN(Date.parse(candidate.expiresAt)) ||
|
|
45
|
+
!userInfo ||
|
|
46
|
+
typeof userInfo !== 'object') {
|
|
47
|
+
throw authenticationError("Invalid credentials: missing required fields. Run 'porta login' again.");
|
|
48
|
+
}
|
|
49
|
+
const identity = userInfo;
|
|
50
|
+
if (!isNonEmptyString(identity.sub) ||
|
|
51
|
+
typeof identity.email !== 'string' ||
|
|
52
|
+
(identity.name !== undefined && typeof identity.name !== 'string')) {
|
|
53
|
+
throw authenticationError("Invalid credentials. Run 'porta login' again.");
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
const server = new URL(candidate.server);
|
|
57
|
+
if (server.protocol !== 'https:' ||
|
|
58
|
+
server.username ||
|
|
59
|
+
server.password ||
|
|
60
|
+
!/^\/*$/.test(server.pathname) ||
|
|
61
|
+
server.search ||
|
|
62
|
+
server.hash) {
|
|
63
|
+
throw new Error('invalid server');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
throw authenticationError("Invalid credentials. Run 'porta login' again.");
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
server: candidate.server,
|
|
71
|
+
orgSlug: candidate.orgSlug,
|
|
72
|
+
clientId: candidate.clientId,
|
|
73
|
+
accessToken: candidate.accessToken,
|
|
74
|
+
refreshToken: isNonEmptyString(candidate.refreshToken) ? candidate.refreshToken : undefined,
|
|
75
|
+
idToken: candidate.idToken,
|
|
76
|
+
expiresAt: candidate.expiresAt,
|
|
77
|
+
userInfo: { sub: identity.sub, email: identity.email, name: identity.name },
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** Validates the security-relevant fields returned by the token endpoint. */
|
|
81
|
+
function parseRefreshResponse(value) {
|
|
82
|
+
if (!value || typeof value !== 'object') {
|
|
83
|
+
throw authenticationError('Token refresh returned an invalid response.');
|
|
84
|
+
}
|
|
85
|
+
const candidate = value;
|
|
86
|
+
if (!isNonEmptyString(candidate.access_token) ||
|
|
87
|
+
(candidate.refresh_token !== undefined && !isNonEmptyString(candidate.refresh_token)) ||
|
|
88
|
+
(candidate.id_token !== undefined && !isNonEmptyString(candidate.id_token)) ||
|
|
89
|
+
(candidate.expires_in !== undefined &&
|
|
90
|
+
(typeof candidate.expires_in !== 'number' ||
|
|
91
|
+
!Number.isFinite(candidate.expires_in) ||
|
|
92
|
+
candidate.expires_in <= 0))) {
|
|
93
|
+
throw authenticationError(candidate.access_token === undefined
|
|
94
|
+
? 'Token refresh response missing access_token.'
|
|
95
|
+
: 'Token refresh returned an invalid response.');
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
accessToken: candidate.access_token,
|
|
99
|
+
refreshToken: candidate.refresh_token,
|
|
100
|
+
idToken: candidate.id_token,
|
|
101
|
+
expiresIn: candidate.expires_in,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Creates an authentication provider over the Porta CLI credential file. */
|
|
61
105
|
export function createCliAuth(options = {}) {
|
|
62
|
-
const credentialsPath = options.credentialsPath ??
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
let
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
106
|
+
const credentialsPath = options.credentialsPath ?? DEFAULT_CREDENTIALS_PATH;
|
|
107
|
+
const persistence = options.credentialPersistence;
|
|
108
|
+
let cached;
|
|
109
|
+
let refreshInFlight;
|
|
110
|
+
let pendingWrite;
|
|
111
|
+
let terminalRefreshFailure;
|
|
112
|
+
/** Latches a post-dispatch failure so a rotated grant is never replayed. */
|
|
113
|
+
function latchRefreshFailure(error) {
|
|
114
|
+
if (!('code' in error)) {
|
|
115
|
+
Object.defineProperty(error, 'code', {
|
|
116
|
+
configurable: true,
|
|
117
|
+
enumerable: true,
|
|
118
|
+
value: 'REFRESH_INDETERMINATE',
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
terminalRefreshFailure = error;
|
|
122
|
+
return error;
|
|
123
|
+
}
|
|
124
|
+
/** Reads and validates the latest on-disk credential snapshot. */
|
|
71
125
|
async function readCredentialsFile() {
|
|
72
126
|
try {
|
|
73
|
-
|
|
74
|
-
const parsed = JSON.parse(content);
|
|
75
|
-
// Validate minimum required fields
|
|
76
|
-
if (!parsed.accessToken || !parsed.server || !parsed.orgSlug) {
|
|
77
|
-
throw new PortaAuthenticationError({
|
|
78
|
-
message: `Invalid credentials file at ${credentialsPath}: missing required fields. Run 'porta login' to re-authenticate.`,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
return parsed;
|
|
127
|
+
return parseStoredCredentials(JSON.parse(await readFile(credentialsPath, 'utf-8')));
|
|
82
128
|
}
|
|
83
129
|
catch (error) {
|
|
84
|
-
|
|
85
|
-
if (error.code === 'ENOENT') {
|
|
86
|
-
throw new PortaAuthenticationError({
|
|
87
|
-
message: `Credentials file not found at ${credentialsPath}. Run 'porta login' first.`,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
// Re-throw PortaAuthenticationError (from validation above or nested)
|
|
91
|
-
if (error instanceof PortaAuthenticationError) {
|
|
130
|
+
if (error instanceof PortaAuthenticationError)
|
|
92
131
|
throw error;
|
|
132
|
+
if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
|
|
133
|
+
throw authenticationError("Credentials not found. Run 'porta login' first.");
|
|
93
134
|
}
|
|
94
|
-
|
|
95
|
-
throw new PortaAuthenticationError({
|
|
96
|
-
message: `Failed to read credentials file at ${credentialsPath}: ${error.message}`,
|
|
97
|
-
});
|
|
135
|
+
throw authenticationError("Unable to read credentials. Run 'porta login' again.");
|
|
98
136
|
}
|
|
99
137
|
}
|
|
100
|
-
/**
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
*/
|
|
104
|
-
function isTokenExpired(creds) {
|
|
105
|
-
if (!creds.expiresAt)
|
|
106
|
-
return false;
|
|
107
|
-
const expiresAtMs = new Date(creds.expiresAt).getTime();
|
|
108
|
-
return Date.now() >= expiresAtMs - EXPIRY_BUFFER_SECONDS * 1000;
|
|
138
|
+
/** Determines whether a token is expired or within the safety buffer. */
|
|
139
|
+
function isExpired(credentials) {
|
|
140
|
+
return Date.now() >= Date.parse(credentials.expiresAt) - EXPIRY_BUFFER_MS;
|
|
109
141
|
}
|
|
110
|
-
/**
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
* grant_type=refresh_token. Updates the in-memory cache but does
|
|
115
|
-
* NOT write back to the credentials file.
|
|
116
|
-
*
|
|
117
|
-
* @throws PortaAuthenticationError if refresh fails or missing refresh_token
|
|
118
|
-
*/
|
|
119
|
-
async function refreshWithGrant(creds) {
|
|
120
|
-
if (!creds.refreshToken) {
|
|
121
|
-
throw new PortaAuthenticationError({
|
|
122
|
-
message: "Cannot refresh token: no refresh_token available. Run 'porta login' again.",
|
|
123
|
-
});
|
|
142
|
+
/** Dispatches exactly one refresh grant and validates its response. */
|
|
143
|
+
async function dispatchRefresh(previous) {
|
|
144
|
+
if (!previous.refreshToken) {
|
|
145
|
+
throw authenticationError("Cannot refresh token: no refresh_token available. Run 'porta login' again.");
|
|
124
146
|
}
|
|
125
|
-
// Construct token endpoint from server URL and org slug
|
|
126
|
-
const tokenUrl = `${creds.server}/${creds.orgSlug}/token`;
|
|
127
147
|
const body = new URLSearchParams({
|
|
128
148
|
grant_type: 'refresh_token',
|
|
129
|
-
client_id:
|
|
130
|
-
refresh_token:
|
|
149
|
+
client_id: previous.clientId,
|
|
150
|
+
refresh_token: previous.refreshToken,
|
|
131
151
|
});
|
|
132
152
|
let response;
|
|
133
153
|
try {
|
|
134
|
-
response = await fetch(
|
|
154
|
+
response = await fetch(`${previous.server}/${previous.orgSlug}/token`, {
|
|
135
155
|
method: 'POST',
|
|
136
156
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
137
157
|
body: body.toString(),
|
|
158
|
+
signal: options.signal,
|
|
138
159
|
});
|
|
139
160
|
}
|
|
140
|
-
catch
|
|
141
|
-
throw
|
|
142
|
-
message: `Token refresh request failed: ${error.message}. Run 'porta login' again.`,
|
|
143
|
-
});
|
|
161
|
+
catch {
|
|
162
|
+
throw latchRefreshFailure(authenticationError("Token refresh outcome is unknown. Run 'porta login' again.", 'REFRESH_INDETERMINATE'));
|
|
144
163
|
}
|
|
145
164
|
if (!response.ok) {
|
|
146
|
-
throw
|
|
147
|
-
message: `Token refresh failed (${response.status}). Run 'porta login' again.`,
|
|
148
|
-
});
|
|
165
|
+
throw latchRefreshFailure(authenticationError(`Token refresh was rejected (${response.status}). Run 'porta login' again.`, 'REFRESH_REJECTED'));
|
|
149
166
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
message: "Token refresh response missing access_token. Run 'porta login' again.",
|
|
154
|
-
});
|
|
167
|
+
let data;
|
|
168
|
+
try {
|
|
169
|
+
data = await response.json();
|
|
155
170
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
171
|
+
catch {
|
|
172
|
+
throw latchRefreshFailure(authenticationError('Token refresh returned an invalid response.'));
|
|
173
|
+
}
|
|
174
|
+
let refreshed;
|
|
175
|
+
try {
|
|
176
|
+
refreshed = parseRefreshResponse(data);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
throw latchRefreshFailure(error instanceof PortaAuthenticationError
|
|
180
|
+
? error
|
|
181
|
+
: authenticationError('Token refresh returned an invalid response.'));
|
|
182
|
+
}
|
|
183
|
+
return {
|
|
184
|
+
...previous,
|
|
185
|
+
accessToken: refreshed.accessToken,
|
|
186
|
+
refreshToken: refreshed.refreshToken ?? previous.refreshToken,
|
|
187
|
+
idToken: refreshed.idToken ?? previous.idToken,
|
|
188
|
+
expiresAt: refreshed.expiresIn
|
|
189
|
+
? new Date(Date.now() + refreshed.expiresIn * 1000).toISOString()
|
|
190
|
+
: previous.expiresAt,
|
|
166
191
|
};
|
|
167
|
-
return data.access_token;
|
|
168
192
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
193
|
+
/** Commits a durable refresh, retaining a failed write for same-write retry. */
|
|
194
|
+
async function refreshDurably() {
|
|
195
|
+
if (!persistence)
|
|
196
|
+
throw new Error('Durable refresh requires persistence hooks');
|
|
197
|
+
return persistence.withRefreshLock(async () => {
|
|
198
|
+
if (pendingWrite) {
|
|
199
|
+
await persistence.persistRefreshedCredentials(pendingWrite.previous, pendingWrite.refreshed);
|
|
200
|
+
cached = pendingWrite.refreshed;
|
|
201
|
+
pendingWrite = undefined;
|
|
202
|
+
return cached.accessToken;
|
|
174
203
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
204
|
+
if (terminalRefreshFailure)
|
|
205
|
+
throw terminalRefreshFailure;
|
|
206
|
+
const current = await readCredentialsFile();
|
|
207
|
+
if (!isExpired(current)) {
|
|
208
|
+
cached = current;
|
|
209
|
+
return current.accessToken;
|
|
178
210
|
}
|
|
179
|
-
|
|
211
|
+
const refreshed = await dispatchRefresh(current);
|
|
212
|
+
pendingWrite = { previous: current, refreshed };
|
|
213
|
+
await persistence.persistRefreshedCredentials(current, refreshed);
|
|
214
|
+
pendingWrite = undefined;
|
|
215
|
+
cached = refreshed;
|
|
216
|
+
return refreshed.accessToken;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/** Coalesces callers onto one immutable refresh transaction. */
|
|
220
|
+
function refreshOnce() {
|
|
221
|
+
if (terminalRefreshFailure)
|
|
222
|
+
return Promise.reject(terminalRefreshFailure);
|
|
223
|
+
if (!refreshInFlight) {
|
|
224
|
+
const operation = persistence
|
|
225
|
+
? refreshDurably()
|
|
226
|
+
: (async () => {
|
|
227
|
+
const previous = cached ?? (await readCredentialsFile());
|
|
228
|
+
cached = await dispatchRefresh(previous);
|
|
229
|
+
return cached.accessToken;
|
|
230
|
+
})();
|
|
231
|
+
refreshInFlight = operation.finally(() => {
|
|
232
|
+
refreshInFlight = undefined;
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
return refreshInFlight;
|
|
236
|
+
}
|
|
237
|
+
return {
|
|
238
|
+
async getToken() {
|
|
239
|
+
if (terminalRefreshFailure)
|
|
240
|
+
throw terminalRefreshFailure;
|
|
241
|
+
cached ??= await readCredentialsFile();
|
|
242
|
+
return isExpired(cached) || pendingWrite ? refreshOnce() : cached.accessToken;
|
|
180
243
|
},
|
|
181
244
|
async refreshToken() {
|
|
182
|
-
|
|
245
|
+
if (terminalRefreshFailure)
|
|
246
|
+
throw terminalRefreshFailure;
|
|
183
247
|
cached = await readCredentialsFile();
|
|
184
|
-
return
|
|
248
|
+
return refreshOnce();
|
|
185
249
|
},
|
|
186
250
|
};
|
|
187
251
|
}
|