@passlock/client 2.1.0 → 2.3.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/index.d.ts +118 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +123 -21
- package/dist/index.js.map +1 -1
- package/dist/internal/network.d.ts +14 -1
- package/dist/internal/network.d.ts.map +1 -1
- package/dist/internal/network.js +11 -1
- package/dist/internal/network.js.map +1 -1
- package/dist/internal/promise.d.ts +7 -3
- package/dist/internal/promise.d.ts.map +1 -1
- package/dist/internal/promise.js +9 -5
- package/dist/internal/promise.js.map +1 -1
- package/dist/internal/result.d.ts +33 -0
- package/dist/internal/result.d.ts.map +1 -0
- package/dist/internal/result.js +35 -0
- package/dist/internal/result.js.map +1 -0
- package/dist/logger.d.ts +11 -5
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +11 -5
- package/dist/logger.js.map +1 -1
- package/dist/options.d.ts +5 -5
- package/dist/options.d.ts.map +1 -1
- package/dist/passkey/authentication/authentication.d.ts +11 -4
- package/dist/passkey/authentication/authentication.d.ts.map +1 -1
- package/dist/passkey/authentication/authentication.js +5 -2
- package/dist/passkey/authentication/authentication.js.map +1 -1
- package/dist/passkey/errors.d.ts +19 -13
- package/dist/passkey/errors.d.ts.map +1 -1
- package/dist/passkey/errors.js +16 -16
- package/dist/passkey/errors.js.map +1 -1
- package/dist/passkey/registration/registration.d.ts +7 -4
- package/dist/passkey/registration/registration.d.ts.map +1 -1
- package/dist/passkey/registration/registration.js +4 -4
- package/dist/passkey/registration/registration.js.map +1 -1
- package/dist/passkey/shared.d.ts +16 -4
- package/dist/passkey/shared.d.ts.map +1 -1
- package/dist/passkey/signals/signals.d.ts +219 -29
- package/dist/passkey/signals/signals.d.ts.map +1 -1
- package/dist/passkey/signals/signals.js +144 -24
- package/dist/passkey/signals/signals.js.map +1 -1
- package/dist/safe.d.ts +181 -60
- package/dist/safe.d.ts.map +1 -1
- package/dist/safe.js +179 -54
- package/dist/safe.js.map +1 -1
- package/package.json +7 -7
|
@@ -33,7 +33,7 @@ export interface RegistrationOptions extends PasslockOptions {
|
|
|
33
33
|
* or "John Doe (personal)". **note:** There's no guarantee browsers/devices
|
|
34
34
|
* will choose to display this property.
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
displayName?: string | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* Prevents the user registering a passkey if they already have one
|
|
39
39
|
* (associated with the same user account) registered on the current device.
|
|
@@ -74,6 +74,9 @@ export type RegistrationSuccess = {
|
|
|
74
74
|
* Discriminator for use in a discriminated union.
|
|
75
75
|
*/
|
|
76
76
|
_tag: "RegistrationSuccess";
|
|
77
|
+
/**
|
|
78
|
+
* Passlock identifiers for the newly registered passkey.
|
|
79
|
+
*/
|
|
77
80
|
principal: Principal;
|
|
78
81
|
/**
|
|
79
82
|
* A signed JWT representing the newly registered passkey.
|
|
@@ -129,19 +132,19 @@ export type RegistrationError = PasskeyUnsupportedError | DuplicatePasskeyError
|
|
|
129
132
|
*/
|
|
130
133
|
export declare const registerPasskey: (options: RegistrationOptions) => Micro.Micro<RegistrationSuccess, RegistrationError, Logger | RegistrationHelper>;
|
|
131
134
|
/**
|
|
132
|
-
*
|
|
135
|
+
* All registration lifecycle events emitted by {@link registerPasskey}.
|
|
133
136
|
*
|
|
134
137
|
* @category Passkeys (other)
|
|
135
138
|
*/
|
|
136
139
|
export declare const RegistrationEvents: readonly ["optionsRequest", "createCredential", "saveCredential"];
|
|
137
140
|
/**
|
|
138
|
-
*
|
|
141
|
+
* Registration lifecycle event name.
|
|
139
142
|
*
|
|
140
143
|
* @category Passkeys (other)
|
|
141
144
|
*/
|
|
142
145
|
export type RegistrationEvent = "optionsRequest" | "createCredential" | "saveCredential";
|
|
143
146
|
/**
|
|
144
|
-
* Callback
|
|
147
|
+
* Callback invoked when registration reaches a lifecycle event.
|
|
145
148
|
*
|
|
146
149
|
* @category Passkeys (other)
|
|
147
150
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../src/passkey/registration/registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,EACL,KAAK,sCAAsC,EAC3C,KAAK,wBAAwB,EAE9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAW,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../src/passkey/registration/registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Helper from "@simplewebauthn/browser";
|
|
2
2
|
import { WebAuthnError, } from "@simplewebauthn/browser";
|
|
3
3
|
import { Context, Micro, pipe } from "effect";
|
|
4
|
-
import { Endpoint, makeEndpoint, makeRequest, TenancyId } from "../../internal/index.js";
|
|
4
|
+
import { Endpoint, makeEndpoint, makeRequest, TenancyId, } from "../../internal/index.js";
|
|
5
5
|
import { Logger } from "../../logger.js";
|
|
6
6
|
import { DuplicatePasskeyError, OtherPasskeyError, PasskeyUnsupportedError, } from "../errors.js";
|
|
7
7
|
/**
|
|
@@ -55,14 +55,14 @@ export const fetchOptions = (options) => Micro.gen(function* () {
|
|
|
55
55
|
const logger = yield* Micro.service(Logger);
|
|
56
56
|
const { endpoint } = yield* Micro.service(Endpoint);
|
|
57
57
|
const { tenancyId } = yield* Micro.service(TenancyId);
|
|
58
|
-
const { username,
|
|
58
|
+
const { username, displayName, excludeCredentials, userVerification, timeout, onEvent, } = options;
|
|
59
59
|
const url = new URL(`${tenancyId}/passkey/registration/options`, endpoint);
|
|
60
60
|
onEvent?.("optionsRequest");
|
|
61
61
|
yield* logger.logInfo("Fetching passkey registration options from Passlock");
|
|
62
62
|
const payload = {
|
|
63
63
|
excludeCredentials,
|
|
64
64
|
timeout,
|
|
65
|
-
|
|
65
|
+
displayName,
|
|
66
66
|
username,
|
|
67
67
|
userVerification,
|
|
68
68
|
};
|
|
@@ -145,7 +145,7 @@ export const registerPasskey = (options) => {
|
|
|
145
145
|
return pipe(effect, Micro.provideService(TenancyId, options), Micro.provideService(Endpoint, endpoint));
|
|
146
146
|
};
|
|
147
147
|
/**
|
|
148
|
-
*
|
|
148
|
+
* All registration lifecycle events emitted by {@link registerPasskey}.
|
|
149
149
|
*
|
|
150
150
|
* @category Passkeys (other)
|
|
151
151
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/passkey/registration/registration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAGL,aAAa,GACd,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7C,OAAO,
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../src/passkey/registration/registration.ts"],"names":[],"mappings":"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"}
|
package/dist/passkey/shared.d.ts
CHANGED
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* WebAuthn user-verification preference passed to registration and
|
|
3
|
+
* authentication ceremonies.
|
|
3
4
|
*
|
|
4
5
|
* @see {@link https://passlock.dev/passkeys/user-verification/ User verification (main docs site)}
|
|
6
|
+
* @see {@link https://w3c.github.io/webauthn/#enumdef-userverificationrequirement WebAuthn specification}
|
|
5
7
|
*
|
|
6
8
|
* @category Passkeys (core)
|
|
7
9
|
*/
|
|
8
10
|
export type UserVerification = "discouraged" | "preferred" | "required";
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
12
|
+
* Browser hint describing the authenticator transport the UI should prefer.
|
|
13
|
+
*
|
|
14
|
+
* @see {@link https://w3c.github.io/webauthn/#enumdef-publickeycredentialhint WebAuthn specification}
|
|
11
15
|
*/
|
|
12
16
|
export type PublicKeyCredentialHint = "hybrid" | "security-key" | "client-device";
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
18
|
+
* IANA-registered WebAuthn attestation statement format identifier.
|
|
19
|
+
*
|
|
20
|
+
* @see {@link https://www.iana.org/assignments/webauthn/webauthn.xhtml#webauthn-attestation-statement-format-ids IANA registry}
|
|
15
21
|
*/
|
|
16
22
|
export type AttestationFormat = "fido-u2f" | "packed" | "android-safetynet" | "android-key" | "tpm" | "apple" | "none";
|
|
17
23
|
/**
|
|
18
|
-
*
|
|
24
|
+
* JSON-serializable variant of
|
|
25
|
+
* `PublicKeyCredentialCreationOptions`.
|
|
26
|
+
*
|
|
27
|
+
* @see {@link https://w3c.github.io/webauthn/#dictdef-publickeycredentialcreationoptionsjson WebAuthn specification}
|
|
19
28
|
*/
|
|
20
29
|
export type PublicKeyCredentialCreationOptionsJSON = {
|
|
21
30
|
rp: PublicKeyCredentialRpEntity;
|
|
@@ -30,5 +39,8 @@ export type PublicKeyCredentialCreationOptionsJSON = {
|
|
|
30
39
|
attestationFormats?: Array<AttestationFormat>;
|
|
31
40
|
extensions?: AuthenticationExtensionsClientInputs;
|
|
32
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Duration in milliseconds.
|
|
44
|
+
*/
|
|
33
45
|
export type Millis = number;
|
|
34
46
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/passkey/shared.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/passkey/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAA;AAEvE;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,cAAc,GACd,eAAe,CAAA;AAEnB;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,QAAQ,GACR,mBAAmB,GACnB,aAAa,GACb,KAAK,GACL,OAAO,GACP,MAAM,CAAA;AAEV;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,EAAE,EAAE,2BAA2B,CAAA;IAC/B,IAAI,EAAE,iCAAiC,CAAA;IACvC,SAAS,EAAE,eAAe,CAAA;IAC1B,gBAAgB,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kBAAkB,CAAC,EAAE,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAC7D,sBAAsB,CAAC,EAAE,8BAA8B,CAAA;IACvD,KAAK,CAAC,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACtC,WAAW,CAAC,EAAE,+BAA+B,CAAA;IAC7C,kBAAkB,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC7C,UAAU,CAAC,EAAE,oCAAoC,CAAA;CAClD,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA"}
|
|
@@ -3,42 +3,109 @@ import { Logger } from "../../logger.js";
|
|
|
3
3
|
import type { PasslockOptions } from "../../options.js";
|
|
4
4
|
import { DeleteError, type OrphanedPasskeyError, PruningError, UpdateError } from "../errors.js";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Detect support for browser-driven local passkey removal via
|
|
7
|
+
* `PublicKeyCredential.signalUnknownCredential`.
|
|
7
8
|
*/
|
|
8
9
|
export declare const isPasskeyDeleteSupport: Micro.Micro<boolean, never, never>;
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* Detect support for browser-driven passkey pruning via
|
|
12
|
+
* `PublicKeyCredential.signalAllAcceptedCredentials`.
|
|
11
13
|
*/
|
|
12
14
|
export declare const isPasskeyPruningSupport: Micro.Micro<boolean, never, never>;
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* Detect support for browser-driven passkey user-detail updates via
|
|
17
|
+
* `PublicKeyCredential.signalCurrentUserDetails`.
|
|
15
18
|
*/
|
|
16
19
|
export declare const isPasskeyUpdateSupport: Micro.Micro<boolean, never, never>;
|
|
20
|
+
/**
|
|
21
|
+
* Delete a local passkey by Passlock passkey ID.
|
|
22
|
+
*
|
|
23
|
+
* The library uses the tenancy information to look up the credential metadata
|
|
24
|
+
* before signalling the browser.
|
|
25
|
+
*
|
|
26
|
+
* @see {@link deletePasskey}
|
|
27
|
+
* @category Passkeys (core)
|
|
28
|
+
*/
|
|
17
29
|
export interface DeletePasskeyOptions extends PasslockOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Passlock passkey ID (authenticator ID).
|
|
32
|
+
*/
|
|
18
33
|
passkeyId: string;
|
|
19
34
|
}
|
|
20
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Delete a local passkey using credential metadata you already have.
|
|
37
|
+
*
|
|
38
|
+
* This shape is typically produced by `@passlock/server`'s
|
|
39
|
+
* `deleteUserPasskeys` helper, so the browser can be signalled without an
|
|
40
|
+
* extra Passlock lookup.
|
|
41
|
+
*
|
|
42
|
+
* @see {@link deletePasskey}
|
|
43
|
+
* @see {@link deleteUserPasskeys}
|
|
44
|
+
* @category Passkeys (core)
|
|
45
|
+
*/
|
|
46
|
+
export type DeleteCredentialOptions = {
|
|
47
|
+
/**
|
|
48
|
+
* WebAuthn credential ID.
|
|
49
|
+
*/
|
|
21
50
|
credentialId: string;
|
|
51
|
+
/**
|
|
52
|
+
* Credential user ID.
|
|
53
|
+
*/
|
|
22
54
|
userId: string;
|
|
55
|
+
/**
|
|
56
|
+
* Relying party ID.
|
|
57
|
+
*/
|
|
23
58
|
rpId: string;
|
|
24
|
-
}
|
|
59
|
+
};
|
|
25
60
|
/**
|
|
26
|
-
* Instruct the
|
|
27
|
-
*
|
|
61
|
+
* Instruct the browser to remove a local passkey, for example from a password
|
|
62
|
+
* manager.
|
|
63
|
+
*
|
|
64
|
+
* If you pass a Passlock `passkeyId`, the library first fetches the associated
|
|
65
|
+
* credential metadata from Passlock. If you pass a credential payload or
|
|
66
|
+
* {@link OrphanedPasskeyError}, it can signal the browser directly.
|
|
67
|
+
* Support and metadata lookup failures are surfaced as {@link DeleteError}.
|
|
68
|
+
* Browser-side signalling failures are logged as warnings and do not fail the
|
|
69
|
+
* effect.
|
|
28
70
|
*
|
|
29
71
|
* @param options Passkey identifier/credential details and Passlock tenancy options.
|
|
30
|
-
* @returns A Micro effect that resolves with a {@link DeleteSuccess}
|
|
72
|
+
* @returns A Micro effect that resolves with a {@link DeleteSuccess} once the
|
|
73
|
+
* local removal workflow has been started.
|
|
31
74
|
*/
|
|
32
75
|
export declare const deletePasskey: (options: DeletePasskeyOptions | DeleteCredentialOptions | OrphanedPasskeyError) => Micro.Micro<DeleteSuccess, DeleteError, Logger>;
|
|
76
|
+
/**
|
|
77
|
+
* Keep only the listed Passlock passkeys for a user on the current device.
|
|
78
|
+
*
|
|
79
|
+
* The library resolves those passkey IDs to the accepted WebAuthn credential
|
|
80
|
+
* list before signalling the browser.
|
|
81
|
+
*
|
|
82
|
+
* @see {@link prunePasskeys}
|
|
83
|
+
* @category Passkeys (core)
|
|
84
|
+
*/
|
|
33
85
|
export interface PrunePasskeyOptions extends PasslockOptions {
|
|
86
|
+
/**
|
|
87
|
+
* Passlock passkey IDs that should remain available on this device.
|
|
88
|
+
*/
|
|
34
89
|
allowablePasskeyIds: Array<string>;
|
|
35
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Indicates the library finished the accepted-credentials signalling flow.
|
|
93
|
+
* This does not guarantee the browser removed any local passkeys.
|
|
94
|
+
*
|
|
95
|
+
* @category Passkeys (core)
|
|
96
|
+
*/
|
|
36
97
|
export type PruningSuccess = {
|
|
37
98
|
_tag: "PruningSuccess";
|
|
38
99
|
};
|
|
100
|
+
/**
|
|
101
|
+
* Type guard for {@link PruningSuccess}.
|
|
102
|
+
*
|
|
103
|
+
* @category Passkeys (other)
|
|
104
|
+
*/
|
|
39
105
|
export declare const isPruningSuccess: (payload: unknown) => payload is PruningSuccess;
|
|
40
106
|
/**
|
|
41
|
-
* Given a list of passkey IDs, instruct the device to remove any
|
|
107
|
+
* Given a list of passkey IDs to keep, instruct the device to remove any
|
|
108
|
+
* redundant passkeys for the same account on the same relying party.
|
|
42
109
|
*
|
|
43
110
|
* Note: this will only remove redundant passkeys (based on the userId).
|
|
44
111
|
*
|
|
@@ -52,8 +119,13 @@ export declare const isPruningSuccess: (payload: unknown) => payload is PruningS
|
|
|
52
119
|
* jdoe@gmail.com account and remove passkey2. However as passkey3 is registered to a
|
|
53
120
|
* different account, the device will retain it.
|
|
54
121
|
*
|
|
122
|
+
* Support and metadata lookup failures are surfaced as {@link PruningError}.
|
|
123
|
+
* Browser-side signalling failures are logged as warnings and do not fail the
|
|
124
|
+
* effect.
|
|
125
|
+
*
|
|
55
126
|
* @param options Passlock tenancy/endpoint options and the passkey IDs to keep.
|
|
56
|
-
* @returns A Micro effect that resolves with a {@link PruningSuccess}
|
|
127
|
+
* @returns A Micro effect that resolves with a {@link PruningSuccess} once the
|
|
128
|
+
* accepted-credentials signalling attempt has completed.
|
|
57
129
|
*/
|
|
58
130
|
export declare const prunePasskeys: (options: PrunePasskeyOptions) => Micro.Micro<PruningSuccess, PruningError, Logger>;
|
|
59
131
|
/**
|
|
@@ -65,43 +137,104 @@ export declare const prunePasskeys: (options: PrunePasskeyOptions) => Micro.Micr
|
|
|
65
137
|
*/
|
|
66
138
|
export interface UpdatePasskeyOptions extends PasslockOptions {
|
|
67
139
|
/**
|
|
68
|
-
* The Passlock passkey
|
|
140
|
+
* The Passlock passkey ID (authenticator ID).
|
|
69
141
|
*/
|
|
70
142
|
passkeyId: string;
|
|
71
143
|
/**
|
|
72
|
-
* New username
|
|
144
|
+
* New username shown alongside the passkey.
|
|
73
145
|
*/
|
|
74
146
|
username: string;
|
|
75
147
|
/**
|
|
76
|
-
* New display name
|
|
148
|
+
* New display name shown alongside the passkey.
|
|
77
149
|
*/
|
|
78
150
|
displayName?: string | undefined;
|
|
79
151
|
}
|
|
80
152
|
/**
|
|
81
|
-
* Used when you want to update one or more passkeys by the
|
|
82
|
-
* immutable Base64Url
|
|
153
|
+
* Used when you want to update one or more passkeys by the credential user ID,
|
|
154
|
+
* that is the immutable Base64Url-encoded binary ID.
|
|
155
|
+
*
|
|
156
|
+
* This shape is usually returned by `@passlock/server`'s
|
|
157
|
+
* `updatePasskeyUsernames` helper and does not include tenancy or endpoint
|
|
158
|
+
* configuration.
|
|
83
159
|
*
|
|
84
160
|
* @see {@link updatePasskey}
|
|
85
161
|
* @see {@link https://passlock.dev/rest-api/credential/ The Credential property (main docs site)}
|
|
86
162
|
*
|
|
87
163
|
* @category Passkeys (core)
|
|
88
164
|
*/
|
|
89
|
-
export interface UpdateCredentialOptions
|
|
165
|
+
export interface UpdateCredentialOptions {
|
|
166
|
+
/**
|
|
167
|
+
* Credential user ID.
|
|
168
|
+
*/
|
|
90
169
|
userId: string;
|
|
170
|
+
/**
|
|
171
|
+
* Relying party identifier for the passkey.
|
|
172
|
+
*/
|
|
91
173
|
rpId: string;
|
|
92
174
|
/**
|
|
93
|
-
* New username
|
|
175
|
+
* New username shown alongside the passkey.
|
|
94
176
|
*/
|
|
95
177
|
username: string;
|
|
96
178
|
/**
|
|
97
|
-
* New display name
|
|
179
|
+
* New display name shown alongside the passkey.
|
|
98
180
|
*/
|
|
99
181
|
displayName?: string | undefined;
|
|
100
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Indicates the library finished the local passkey update signalling flow.
|
|
185
|
+
*
|
|
186
|
+
* @category Passkeys (core)
|
|
187
|
+
*/
|
|
101
188
|
export type UpdateSuccess = {
|
|
102
189
|
_tag: "UpdateSuccess";
|
|
103
190
|
};
|
|
191
|
+
/**
|
|
192
|
+
* Type guard for {@link UpdateSuccess}.
|
|
193
|
+
*
|
|
194
|
+
* @category Passkeys (other)
|
|
195
|
+
*/
|
|
104
196
|
export declare const isUpdateSuccess: (payload: unknown) => payload is UpdateSuccess;
|
|
197
|
+
/**
|
|
198
|
+
* Update the username and/or display name for multiple local passkeys.
|
|
199
|
+
*
|
|
200
|
+
* Note: this is purely informational. It does not change any passkey
|
|
201
|
+
* identifiers.
|
|
202
|
+
*
|
|
203
|
+
* The typical use case is when a user changes their account email. You would
|
|
204
|
+
* update the username in your backend system, then pass the returned
|
|
205
|
+
* credential list into this function so the same account label is shown in the
|
|
206
|
+
* user's password manager.
|
|
207
|
+
*
|
|
208
|
+
* Support failures are surfaced as {@link UpdateError}. Browser-side
|
|
209
|
+
* signalling failures are logged as warnings and do not fail the effect.
|
|
210
|
+
*
|
|
211
|
+
* @param options Credential identifiers plus the updated username/display name,
|
|
212
|
+
* typically taken from `@passlock/server`'s `updatePasskeyUsernames`
|
|
213
|
+
* response.
|
|
214
|
+
* @returns A Micro effect that resolves with a {@link UpdateSuccess} once the
|
|
215
|
+
* local update workflows have been started.
|
|
216
|
+
*/
|
|
217
|
+
export declare const updatePasskeyUsernames: (options: ReadonlyArray<UpdateCredentialOptions>) => Micro.Micro<{
|
|
218
|
+
readonly _tag: "UpdateSuccess";
|
|
219
|
+
}, UpdateError, Logger>;
|
|
220
|
+
/**
|
|
221
|
+
* Delete multiple local passkeys using credentials previously returned from
|
|
222
|
+
* your backend.
|
|
223
|
+
*
|
|
224
|
+
* The typical flow is to delete the server-side passkeys first, then pass the
|
|
225
|
+
* returned `deleted` array into this function so the user’s password manager is
|
|
226
|
+
* updated too.
|
|
227
|
+
*
|
|
228
|
+
* Support failures are surfaced as {@link DeleteError}. Browser-side
|
|
229
|
+
* signalling failures are logged as warnings and do not fail the effect.
|
|
230
|
+
*
|
|
231
|
+
* @param options Credentials derived from deleted server-side passkeys.
|
|
232
|
+
* @returns A Micro effect that resolves with a {@link DeleteSuccess} once the
|
|
233
|
+
* local removal workflows have been started.
|
|
234
|
+
*/
|
|
235
|
+
export declare const deleteUserPasskeys: (options: ReadonlyArray<Credential>) => Micro.Micro<{
|
|
236
|
+
readonly _tag: "DeleteSuccess";
|
|
237
|
+
}, DeleteError, Logger>;
|
|
105
238
|
/**
|
|
106
239
|
* Update a passkey e.g. change the username and/or display name.
|
|
107
240
|
* Note: this is purely informational, it does not change any identifiers.
|
|
@@ -110,18 +243,40 @@ export declare const isUpdateSuccess: (payload: unknown) => payload is UpdateSuc
|
|
|
110
243
|
* device local passkey. Otherwise the passkey associated with your new-name@gmail.com
|
|
111
244
|
* account would still show up in their password manager as old-name@gmail.com.
|
|
112
245
|
*
|
|
246
|
+
* Support and metadata lookup failures are surfaced as {@link UpdateError}.
|
|
247
|
+
* Browser-side signalling failures are logged as warnings and do not fail the
|
|
248
|
+
* effect.
|
|
249
|
+
*
|
|
113
250
|
* @param options Passkey update options.
|
|
114
|
-
* @returns A Micro effect that resolves with a {@link UpdateSuccess}
|
|
251
|
+
* @returns A Micro effect that resolves with a {@link UpdateSuccess} once the
|
|
252
|
+
* local update workflow has been started.
|
|
115
253
|
*/
|
|
116
254
|
export declare const updatePasskey: (options: UpdatePasskeyOptions | UpdateCredentialOptions) => Micro.Micro<{
|
|
117
255
|
readonly _tag: "UpdateSuccess";
|
|
118
256
|
}, UpdateError, Logger>;
|
|
119
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Credential metadata required to target a local passkey on the device.
|
|
259
|
+
*
|
|
260
|
+
* @category Passkeys (core)
|
|
261
|
+
*/
|
|
262
|
+
export type Credential = {
|
|
263
|
+
/**
|
|
264
|
+
* WebAuthn credential ID.
|
|
265
|
+
*/
|
|
120
266
|
credentialId: string;
|
|
267
|
+
/**
|
|
268
|
+
* Credential user ID.
|
|
269
|
+
*/
|
|
121
270
|
userId: string;
|
|
271
|
+
/**
|
|
272
|
+
* Relying party ID.
|
|
273
|
+
*/
|
|
122
274
|
rpId: string;
|
|
123
275
|
};
|
|
124
|
-
|
|
276
|
+
/**
|
|
277
|
+
* Accepted credential list for a single user on a relying party.
|
|
278
|
+
*/
|
|
279
|
+
export type UserCredentials = {
|
|
125
280
|
rpId: string;
|
|
126
281
|
userId: string;
|
|
127
282
|
allAcceptedCredentialIds: string[];
|
|
@@ -131,28 +286,63 @@ type IPasskeyNotFound = {
|
|
|
131
286
|
credentialId: string;
|
|
132
287
|
rpId: string;
|
|
133
288
|
};
|
|
289
|
+
/**
|
|
290
|
+
* Indicates the library finished preparing local passkey removal signalling.
|
|
291
|
+
* This does not guarantee the browser removed the passkey.
|
|
292
|
+
*
|
|
293
|
+
* @category Passkeys (core)
|
|
294
|
+
*/
|
|
134
295
|
export type DeleteSuccess = {
|
|
135
296
|
_tag: "DeleteSuccess";
|
|
136
297
|
};
|
|
298
|
+
/**
|
|
299
|
+
* Type guard for {@link DeleteSuccess}.
|
|
300
|
+
*
|
|
301
|
+
* @category Passkeys (other)
|
|
302
|
+
*/
|
|
137
303
|
export declare const isDeleteSuccess: (payload: unknown) => payload is DeleteSuccess;
|
|
138
304
|
/**
|
|
139
|
-
*
|
|
305
|
+
* Attempt a browser removal signal for a credential.
|
|
140
306
|
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
307
|
+
* Support failures are surfaced as {@link DeleteError}. Browser-side
|
|
308
|
+
* signalling failures are logged as warnings and do not fail the effect.
|
|
309
|
+
*
|
|
310
|
+
* @param credential Credential or missing-passkey payload.
|
|
311
|
+
* @returns A Micro effect that resolves with a {@link DeleteSuccess} once the
|
|
312
|
+
* local removal workflow has been started.
|
|
143
313
|
*/
|
|
144
|
-
export declare const signalCredentialRemoval: (credential:
|
|
314
|
+
export declare const signalCredentialRemoval: (credential: Credential | IPasskeyNotFound) => Micro.Micro<DeleteSuccess, DeleteError, Logger>;
|
|
145
315
|
/**
|
|
146
|
-
* Tell the
|
|
316
|
+
* Tell the browser which credentials are still accepted for a user.
|
|
317
|
+
*
|
|
318
|
+
* Support failures are surfaced as {@link PruningError}. Browser-side
|
|
319
|
+
* signalling failures are logged as warnings and do not fail the effect.
|
|
147
320
|
*
|
|
148
|
-
* @param credentials Accepted
|
|
149
|
-
* @returns A Micro effect that resolves with a {@link PruningSuccess}
|
|
321
|
+
* @param credentials Accepted credentials for the user.
|
|
322
|
+
* @returns A Micro effect that resolves with a {@link PruningSuccess} once the
|
|
323
|
+
* accepted-credentials signalling attempt has completed.
|
|
324
|
+
*/
|
|
325
|
+
export declare const signalAcceptedCredentials: (credentials: UserCredentials) => Micro.Micro<PruningSuccess, PruningError, Logger>;
|
|
326
|
+
/**
|
|
327
|
+
* Credential identity needed to update the user-visible details for a local
|
|
328
|
+
* passkey.
|
|
150
329
|
*/
|
|
151
|
-
export declare const signalAcceptedCredentials: (credentials: CredentialMappings) => Micro.Micro<PruningSuccess, PruningError, Logger>;
|
|
152
330
|
export type CredentialUserId = {
|
|
153
331
|
userId: string;
|
|
154
332
|
rpId: string;
|
|
155
333
|
};
|
|
334
|
+
/**
|
|
335
|
+
* Tell the browser to refresh the username and display name shown for a local
|
|
336
|
+
* passkey.
|
|
337
|
+
*
|
|
338
|
+
* Support failures are surfaced as {@link UpdateError}. Browser-side
|
|
339
|
+
* signalling failures are logged as warnings and do not fail the effect.
|
|
340
|
+
*
|
|
341
|
+
* @param credential Credential identity used to find the passkey.
|
|
342
|
+
* @param updates Updated username/display-name values.
|
|
343
|
+
* @returns A Micro effect that resolves with an {@link UpdateSuccess} once the
|
|
344
|
+
* local update workflow has been started.
|
|
345
|
+
*/
|
|
156
346
|
export declare const signalCurrentUserDetails: (credential: CredentialUserId, updates: Pick<UpdatePasskeyOptions, "username" | "displayName">) => Micro.Micro<{
|
|
157
347
|
readonly _tag: "UpdateSuccess";
|
|
158
348
|
}, UpdateError, Logger>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../src/passkey/signals/signals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAA;AAGpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EACL,WAAW,EACX,KAAK,oBAAoB,EACzB,YAAY,EACZ,WAAW,EACZ,MAAM,cAAc,CAAA;AAErB
|
|
1
|
+
{"version":3,"file":"signals.d.ts","sourceRoot":"","sources":["../../../src/passkey/signals/signals.ts"],"names":[],"mappings":"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"}
|