1id 0.5.0 → 0.8.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/LICENSE +0 -0
- package/README.md +0 -0
- package/dist/auth.d.ts +21 -13
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +128 -20
- package/dist/auth.js.map +1 -1
- package/dist/cli.d.ts +0 -0
- package/dist/cli.d.ts.map +0 -0
- package/dist/cli.js +0 -0
- package/dist/cli.js.map +0 -0
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +9 -0
- package/dist/client.js.map +1 -1
- package/dist/credentialPointers.d.ts +99 -0
- package/dist/credentialPointers.d.ts.map +1 -0
- package/dist/credentialPointers.js +138 -0
- package/dist/credentialPointers.js.map +1 -0
- package/dist/credentials.d.ts +2 -4
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +3 -7
- package/dist/credentials.js.map +1 -1
- package/dist/devices.d.ts +76 -0
- package/dist/devices.d.ts.map +1 -0
- package/dist/devices.js +103 -0
- package/dist/devices.js.map +1 -0
- package/dist/enroll.d.ts +0 -0
- package/dist/enroll.d.ts.map +0 -0
- package/dist/enroll.js +0 -0
- package/dist/enroll.js.map +0 -0
- package/dist/exceptions.d.ts +15 -1
- package/dist/exceptions.d.ts.map +1 -1
- package/dist/exceptions.js +20 -1
- package/dist/exceptions.js.map +1 -1
- package/dist/helper.d.ts +0 -0
- package/dist/helper.d.ts.map +0 -0
- package/dist/helper.js +0 -0
- package/dist/helper.js.map +0 -0
- package/dist/identity.d.ts +0 -0
- package/dist/identity.d.ts.map +0 -0
- package/dist/identity.js +0 -0
- package/dist/identity.js.map +0 -0
- package/dist/index.d.ts +49 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -25
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +0 -0
- package/dist/keys.d.ts.map +0 -0
- package/dist/keys.js +0 -0
- package/dist/keys.js.map +0 -0
- package/dist/test/test_declared_enrollment.d.ts +0 -0
- package/dist/test/test_declared_enrollment.d.ts.map +0 -0
- package/dist/test/test_declared_enrollment.js +0 -0
- package/dist/test/test_declared_enrollment.js.map +0 -0
- package/dist/test/test_peer_verification.d.ts +15 -0
- package/dist/test/test_peer_verification.d.ts.map +1 -0
- package/dist/test/test_peer_verification.js +481 -0
- package/dist/test/test_peer_verification.js.map +1 -0
- package/dist/trustRoots.d.ts +38 -0
- package/dist/trustRoots.d.ts.map +1 -0
- package/dist/trustRoots.js +145 -0
- package/dist/trustRoots.js.map +1 -0
- package/dist/verify.d.ts +71 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +315 -0
- package/dist/verify.js.map +1 -0
- package/dist/world.d.ts +83 -0
- package/dist/world.d.ts.map +1 -0
- package/dist/world.js +122 -0
- package/dist/world.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16,17 +16,28 @@
|
|
|
16
16
|
* The SDK auto-detects your hardware (TPM, YubiKey, Secure Enclave)
|
|
17
17
|
* and enrolls at the highest available trust tier.
|
|
18
18
|
*/
|
|
19
|
-
import { clear_cached_token, get_token, authenticate_with_tpm } from "./auth.js";
|
|
20
|
-
import { credentials_exist, load_credentials
|
|
19
|
+
import { clear_cached_token, get_token, authenticate_with_tpm, authenticate_with_piv } from "./auth.js";
|
|
20
|
+
import { credentials_exist, load_credentials } from "./credentials.js";
|
|
21
21
|
import { enroll } from "./enroll.js";
|
|
22
22
|
import { sign_challenge_with_private_key } from "./keys.js";
|
|
23
23
|
import { DEFAULT_KEY_ALGORITHM, HSMType, KeyAlgorithm, TrustTier, this_token_has_not_yet_expired, format_authorization_header_value, format_identity_as_display_string, } from "./identity.js";
|
|
24
|
+
import { fetch_world_status_from_server, invalidate_world_cache, } from "./world.js";
|
|
25
|
+
import { listDevices, lockHardware, registerOperatorEmail, } from "./devices.js";
|
|
26
|
+
import { signChallenge, verifyPeerIdentity, PeerVerificationError, CertificateChainValidationError, SignatureVerificationError, MissingIdentityCertificateError, } from "./verify.js";
|
|
27
|
+
import { refresh_trust_roots, get_trust_roots } from "./trustRoots.js";
|
|
28
|
+
import { generateConsentToken, listCredentialPointers, setCredentialPointerVisibility, removeCredentialPointer, } from "./credentialPointers.js";
|
|
24
29
|
// Re-export all exception classes
|
|
25
|
-
export { OneIDError, EnrollmentError, NoHSMError, UACDeniedError, HSMAccessError, TPMSetupRequiredError, AlreadyEnrolledError, HandleTakenError, HandleInvalidError, HandleRetiredError, AuthenticationError, NetworkError, NotEnrolledError, BinaryNotFoundError, RateLimitExceededError, } from "./exceptions.js";
|
|
30
|
+
export { OneIDError, EnrollmentError, NoHSMError, UACDeniedError, HSMAccessError, TPMSetupRequiredError, AlreadyEnrolledError, HandleTakenError, HandleInvalidError, HandleRetiredError, AuthenticationError, HardwareDeviceNotPresentError, NetworkError, NotEnrolledError, BinaryNotFoundError, RateLimitExceededError, } from "./exceptions.js";
|
|
26
31
|
// Re-export types and enums
|
|
27
32
|
export { TrustTier, KeyAlgorithm, HSMType, DEFAULT_KEY_ALGORITHM, this_token_has_not_yet_expired, format_authorization_header_value, format_identity_as_display_string, };
|
|
33
|
+
// Re-export world/status types
|
|
34
|
+
export { invalidate_world_cache, };
|
|
35
|
+
// Re-export peer verification types and functions
|
|
36
|
+
export { signChallenge, verifyPeerIdentity, refresh_trust_roots, get_trust_roots, PeerVerificationError, CertificateChainValidationError, SignatureVerificationError, MissingIdentityCertificateError, };
|
|
37
|
+
// Re-export credential pointer functions and types
|
|
38
|
+
export { generateConsentToken, listCredentialPointers, setCredentialPointerVisibility, removeCredentialPointer, };
|
|
28
39
|
/** SDK version string. */
|
|
29
|
-
export const VERSION = "0.
|
|
40
|
+
export const VERSION = "0.8.0";
|
|
30
41
|
/**
|
|
31
42
|
* Check the current enrolled identity.
|
|
32
43
|
*
|
|
@@ -94,11 +105,24 @@ export function whoami() {
|
|
|
94
105
|
*
|
|
95
106
|
* If you've already enrolled, returns your existing identity instantly
|
|
96
107
|
* (no network call). If not, enrolls at the best available trust tier.
|
|
108
|
+
*
|
|
109
|
+
* Pass get_only: true when you want to recover context without risking
|
|
110
|
+
* a new enrollment. This is useful for agents resuming after a restart:
|
|
111
|
+
* const id = await oneid.getOrCreateIdentity({ get_only: true });
|
|
112
|
+
*
|
|
113
|
+
* @throws NotEnrolledError if get_only is true and no credentials exist.
|
|
97
114
|
*/
|
|
98
115
|
export async function getOrCreateIdentity(options) {
|
|
99
116
|
if (credentials_exist()) {
|
|
100
117
|
return whoami();
|
|
101
118
|
}
|
|
119
|
+
if (options?.get_only) {
|
|
120
|
+
const { NotEnrolledError: NotEnrolled } = await import("./exceptions.js");
|
|
121
|
+
throw new NotEnrolled("No 1ID identity found on this machine. " +
|
|
122
|
+
"You passed get_only: true, so no new enrollment was attempted. " +
|
|
123
|
+
"Call getOrCreateIdentity() without get_only to enroll, " +
|
|
124
|
+
"or call enroll() directly.");
|
|
125
|
+
}
|
|
102
126
|
return enroll({
|
|
103
127
|
display_name: options?.display_name ?? null,
|
|
104
128
|
operator_email: options?.operator_email ?? null,
|
|
@@ -106,6 +130,23 @@ export async function getOrCreateIdentity(options) {
|
|
|
106
130
|
api_base_url: options?.api_base_url,
|
|
107
131
|
});
|
|
108
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Get the full picture of your 1ID identity and connected services.
|
|
135
|
+
*
|
|
136
|
+
* Calls the server's world endpoint with your Bearer token and returns
|
|
137
|
+
* everything: identity, devices, connected services, available services,
|
|
138
|
+
* and operator guidance.
|
|
139
|
+
*
|
|
140
|
+
* Results are cached for 5 minutes. Call invalidate_world_cache() to force a fresh fetch.
|
|
141
|
+
*
|
|
142
|
+
* @returns WorldStatus with complete identity state.
|
|
143
|
+
* @throws NotEnrolledError if no credentials exist.
|
|
144
|
+
* @throws NetworkError if the server cannot be reached.
|
|
145
|
+
* @throws AuthenticationError if the token is invalid or expired.
|
|
146
|
+
*/
|
|
147
|
+
export async function status() {
|
|
148
|
+
return fetch_world_status_from_server();
|
|
149
|
+
}
|
|
109
150
|
/**
|
|
110
151
|
* Force-refresh the cached OAuth2 token.
|
|
111
152
|
*
|
|
@@ -133,41 +174,35 @@ export async function setup_tbs() {
|
|
|
133
174
|
const result = await setup_tbs_for_non_admin_tpm_access();
|
|
134
175
|
return result.ok ?? false;
|
|
135
176
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Record the user's privacy consent choice in the credentials file.
|
|
138
|
-
*
|
|
139
|
-
* After the calling application shows a privacy warning and the user
|
|
140
|
-
* consents, call this to persist their preferred attestation mode.
|
|
141
|
-
*
|
|
142
|
-
* @param mode The user's chosen attestation mode: 'sd-jwt' or 'direct'.
|
|
143
|
-
* @throws NotEnrolledError if no credentials file exists yet.
|
|
144
|
-
* @throws Error if mode is not 'sd-jwt' or 'direct'.
|
|
145
|
-
*/
|
|
146
|
-
export function record_privacy_consent(mode = "sd-jwt") {
|
|
147
|
-
if (mode !== "sd-jwt" && mode !== "direct") {
|
|
148
|
-
throw new Error(`Invalid attestation mode '${mode}'. Must be 'sd-jwt' or 'direct'.`);
|
|
149
|
-
}
|
|
150
|
-
const creds = load_credentials();
|
|
151
|
-
creds.privacy_consent_given_at = new Date().toISOString();
|
|
152
|
-
creds.default_attestation_mode = mode;
|
|
153
|
-
save_credentials(creds);
|
|
154
|
-
}
|
|
155
177
|
// Re-export core functions
|
|
156
|
-
export { enroll, get_token as getToken, get_token, clear_cached_token, authenticate_with_tpm, credentials_exist, sign_challenge_with_private_key, };
|
|
178
|
+
export { enroll, get_token as getToken, get_token, clear_cached_token, authenticate_with_tpm, authenticate_with_piv, credentials_exist, sign_challenge_with_private_key, listDevices, lockHardware, registerOperatorEmail, };
|
|
157
179
|
const oneid = {
|
|
158
180
|
enroll,
|
|
159
181
|
getOrCreateIdentity,
|
|
182
|
+
status,
|
|
160
183
|
getToken: get_token,
|
|
161
184
|
get_token,
|
|
162
185
|
whoami,
|
|
163
186
|
refresh,
|
|
164
187
|
setup_tbs,
|
|
165
|
-
record_privacy_consent,
|
|
166
188
|
credentials_exist,
|
|
167
189
|
authenticate_with_tpm,
|
|
190
|
+
authenticate_with_piv,
|
|
168
191
|
sign_challenge_with_private_key,
|
|
169
192
|
clear_cached_token,
|
|
170
193
|
format_identity_as_display_string,
|
|
194
|
+
invalidate_world_cache,
|
|
195
|
+
listDevices,
|
|
196
|
+
lockHardware,
|
|
197
|
+
registerOperatorEmail,
|
|
198
|
+
signChallenge,
|
|
199
|
+
verifyPeerIdentity,
|
|
200
|
+
refresh_trust_roots,
|
|
201
|
+
get_trust_roots,
|
|
202
|
+
generateConsentToken,
|
|
203
|
+
listCredentialPointers,
|
|
204
|
+
setCredentialPointerVisibility,
|
|
205
|
+
removeCredentialPointer,
|
|
171
206
|
VERSION,
|
|
172
207
|
TrustTier,
|
|
173
208
|
KeyAlgorithm,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/keys.d.ts
CHANGED
|
File without changes
|
package/dist/keys.d.ts.map
CHANGED
|
File without changes
|
package/dist/keys.js
CHANGED
|
File without changes
|
package/dist/keys.js.map
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests 42-48: Peer Identity Verification (Milestone 9)
|
|
3
|
+
*
|
|
4
|
+
* 42. Proof bundle (sovereign) -- requires TPM hardware, marked TODO
|
|
5
|
+
* 43. Proof bundle (portable) -- requires YubiKey hardware, marked TODO
|
|
6
|
+
* 44. Proof bundle (declared) -- software key, fully testable offline
|
|
7
|
+
* 45. Trust root caching -- GET /api/v1/trust/roots + local cache
|
|
8
|
+
* 46. Replay resistance -- reused nonce with different verifier context
|
|
9
|
+
* 47. Tamper detection -- modified proof bundle fails validation
|
|
10
|
+
* 48. Certificate issuance during enrollment -- requires live server
|
|
11
|
+
*
|
|
12
|
+
* Run with: node --test dist/test/test_peer_verification.js
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=test_peer_verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test_peer_verification.d.ts","sourceRoot":"","sources":["../../src/test/test_peer_verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|