@casual-simulation/aux-records 3.2.16 → 3.2.17
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/AAGUID.d.ts +11 -0
- package/AAGUID.js +100 -0
- package/AAGUID.js.map +1 -0
- package/AuthController.d.ts +171 -3
- package/AuthController.js +426 -1
- package/AuthController.js.map +1 -1
- package/AuthStore.d.ts +182 -0
- package/Base64UrlUtils.d.ts +16 -0
- package/Base64UrlUtils.js +59 -0
- package/Base64UrlUtils.js.map +1 -0
- package/FileRecordsStore.d.ts +12 -1
- package/MemoryFileRecordsLookup.d.ts +1 -1
- package/MemoryFileRecordsLookup.js +4 -1
- package/MemoryFileRecordsLookup.js.map +1 -1
- package/MemoryStore.d.ts +14 -1
- package/MemoryStore.js +89 -0
- package/MemoryStore.js.map +1 -1
- package/RecordsServer.d.ts +6 -0
- package/RecordsServer.js +214 -0
- package/RecordsServer.js.map +1 -1
- package/Utils.d.ts +1 -1
- package/Utils.js +3 -0
- package/Utils.js.map +1 -1
- package/package.json +4 -2
package/AAGUID.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type AuthenticatorKind = 'google-password-manager' | 'chrome-on-mac' | 'windows-hello' | 'icloud-keychain' | 'dashlane' | '1password' | 'nord-pass' | 'keeper' | 'enpass' | 'chromium-browser' | 'ms-edge-on-mac' | 'idmelon' | 'bitwarden' | 'samsung-pass' | 'thales' | 'unknown';
|
|
2
|
+
export interface AAGUIDInfo {
|
|
3
|
+
kind: AuthenticatorKind;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export interface AAGUIDMap {
|
|
7
|
+
[aaguid: string]: AAGUIDInfo;
|
|
8
|
+
}
|
|
9
|
+
export declare const aaguidMap: AAGUIDMap;
|
|
10
|
+
export declare function getInfoForAAGUID(aaguid: string): AAGUIDInfo;
|
|
11
|
+
//# sourceMappingURL=AAGUID.d.ts.map
|
package/AAGUID.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// Taken from https://github.com/passkeydeveloper/passkey-authenticator-aaguids
|
|
2
|
+
export const aaguidMap = {
|
|
3
|
+
'ea9b8d66-4d01-1d21-3ce4-b6b48cb575d4': {
|
|
4
|
+
kind: 'google-password-manager',
|
|
5
|
+
name: 'Google Password Manager',
|
|
6
|
+
},
|
|
7
|
+
'adce0002-35bc-c60a-648b-0b25f1f05503': {
|
|
8
|
+
kind: 'chrome-on-mac',
|
|
9
|
+
name: 'Chrome on Mac',
|
|
10
|
+
},
|
|
11
|
+
'08987058-cadc-4b81-b6e1-30de50dcbe96': {
|
|
12
|
+
kind: 'windows-hello',
|
|
13
|
+
name: 'Windows Hello',
|
|
14
|
+
},
|
|
15
|
+
'9ddd1817-af5a-4672-a2b9-3e3dd95000a9': {
|
|
16
|
+
kind: 'windows-hello',
|
|
17
|
+
name: 'Windows Hello',
|
|
18
|
+
},
|
|
19
|
+
'6028b017-b1d4-4c02-b4b3-afcdafc96bb2': {
|
|
20
|
+
kind: 'windows-hello',
|
|
21
|
+
name: 'Windows Hello',
|
|
22
|
+
},
|
|
23
|
+
'dd4ec289-e01d-41c9-bb89-70fa845d4bf2': {
|
|
24
|
+
kind: 'icloud-keychain',
|
|
25
|
+
name: 'iCloud Keychain (Managed)',
|
|
26
|
+
},
|
|
27
|
+
'531126d6-e717-415c-9320-3d9aa6981239': {
|
|
28
|
+
kind: 'dashlane',
|
|
29
|
+
name: 'Dashlane',
|
|
30
|
+
},
|
|
31
|
+
'bada5566-a7aa-401f-bd96-45619a55120d': {
|
|
32
|
+
kind: '1password',
|
|
33
|
+
name: '1Password',
|
|
34
|
+
},
|
|
35
|
+
'b84e4048-15dc-4dd0-8640-f4f60813c8af': {
|
|
36
|
+
kind: 'nord-pass',
|
|
37
|
+
name: 'NordPass',
|
|
38
|
+
},
|
|
39
|
+
'0ea242b4-43c4-4a1b-8b17-dd6d0b6baec6': {
|
|
40
|
+
kind: 'keeper',
|
|
41
|
+
name: 'Keeper',
|
|
42
|
+
},
|
|
43
|
+
'f3809540-7f14-49c1-a8b3-8f813b225541': {
|
|
44
|
+
kind: 'enpass',
|
|
45
|
+
name: 'Enpass',
|
|
46
|
+
},
|
|
47
|
+
'b5397666-4885-aa6b-cebf-e52262a439a2': {
|
|
48
|
+
kind: 'chromium-browser',
|
|
49
|
+
name: 'Chromium Browser',
|
|
50
|
+
},
|
|
51
|
+
'771b48fd-d3d4-4f74-9232-fc157ab0507a': {
|
|
52
|
+
kind: 'ms-edge-on-mac',
|
|
53
|
+
name: 'Edge on Mac',
|
|
54
|
+
},
|
|
55
|
+
'39a5647e-1853-446c-a1f6-a79bae9f5bc7': {
|
|
56
|
+
kind: 'idmelon',
|
|
57
|
+
name: 'IDmelon',
|
|
58
|
+
},
|
|
59
|
+
'd548826e-79b4-db40-a3d8-11116f7e8349': {
|
|
60
|
+
kind: 'bitwarden',
|
|
61
|
+
name: 'Bitwarden',
|
|
62
|
+
},
|
|
63
|
+
'fbfc3007-154e-4ecc-8c0b-6e020557d7bd': {
|
|
64
|
+
kind: 'icloud-keychain',
|
|
65
|
+
name: 'iCloud Keychain',
|
|
66
|
+
},
|
|
67
|
+
'53414d53-554e-4700-0000-000000000000': {
|
|
68
|
+
kind: 'samsung-pass',
|
|
69
|
+
name: 'Samsung Pass',
|
|
70
|
+
},
|
|
71
|
+
'66a0ccb3-bd6a-191f-ee06-e375c50b9846': {
|
|
72
|
+
kind: 'thales',
|
|
73
|
+
name: 'Thales Bio iOS SDK',
|
|
74
|
+
},
|
|
75
|
+
'8836336a-f590-0921-301d-46427531eee6': {
|
|
76
|
+
kind: 'thales',
|
|
77
|
+
name: 'Thales Bio Android SDK',
|
|
78
|
+
},
|
|
79
|
+
'cd69adb5-3c7a-deb9-3177-6800ea6cb72a': {
|
|
80
|
+
kind: 'thales',
|
|
81
|
+
name: 'Thales PIN Android SDK',
|
|
82
|
+
},
|
|
83
|
+
'17290f1e-c212-34d0-1423-365d729f09d9': {
|
|
84
|
+
kind: 'thales',
|
|
85
|
+
name: 'Thales PIN iOS SDK',
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
export function getInfoForAAGUID(aaguid) {
|
|
89
|
+
const info = aaguidMap[aaguid];
|
|
90
|
+
if (info) {
|
|
91
|
+
return info;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return {
|
|
95
|
+
name: 'Unknown Authenticator',
|
|
96
|
+
kind: 'unknown',
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=AAGUID.js.map
|
package/AAGUID.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AAGUID.js","sourceRoot":"","sources":["AAGUID.ts"],"names":[],"mappings":"AAAA,+EAA+E;AA+B/E,MAAM,CAAC,MAAM,SAAS,GAAc;IAChC,sCAAsC,EAAE;QACpC,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,yBAAyB;KAClC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;KACxB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,2BAA2B;KACpC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;KACnB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;KACpB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;KACnB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;KACjB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;KACjB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,kBAAkB;KAC3B;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,aAAa;KACtB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KAClB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;KACpB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,iBAAiB;KAC1B;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,cAAc;KACvB;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oBAAoB;KAC7B;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,wBAAwB;KACjC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,wBAAwB;KACjC;IACD,sCAAsC,EAAE;QACpC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,oBAAoB;KAC7B;CACK,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,IAAI,EAAE;QACN,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO;YACH,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,SAAS;SAClB,CAAC;KACL;AACL,CAAC"}
|
package/AuthController.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AddressType, AuthStore, AuthUser } from './AuthStore';
|
|
2
|
-
import { NotSupportedError, ServerError } from '@casual-simulation/aux-common/Errors';
|
|
1
|
+
import { AddressType, AuthListedUserAuthenticator, AuthStore, AuthUser } from './AuthStore';
|
|
2
|
+
import { NotAuthorizedError, NotLoggedInError, NotSupportedError, ServerError } from '@casual-simulation/aux-common/Errors';
|
|
3
3
|
import { AuthMessenger } from './AuthMessenger';
|
|
4
4
|
import { RegexRule } from './Utils';
|
|
5
5
|
import { ConfigurationStore } from './ConfigurationStore';
|
|
@@ -7,6 +7,7 @@ import { PrivacyFeatures, PublicUserInfo } from '@casual-simulation/aux-common';
|
|
|
7
7
|
import { PrivoClientInterface, PrivoFeatureStatus, PrivoPermission } from './PrivoClient';
|
|
8
8
|
import { PrivoConfiguration } from './PrivoConfiguration';
|
|
9
9
|
import { ZodIssue } from 'zod';
|
|
10
|
+
import type { PublicKeyCredentialCreationOptionsJSON, RegistrationResponseJSON, PublicKeyCredentialRequestOptionsJSON, AuthenticationResponseJSON } from '@simplewebauthn/types';
|
|
10
11
|
/**
|
|
11
12
|
* The number of miliseconds that a login request should be valid for before expiration.
|
|
12
13
|
*/
|
|
@@ -15,6 +16,10 @@ export declare const LOGIN_REQUEST_LIFETIME_MS: number;
|
|
|
15
16
|
* The number of miliseconds that an Open ID login request should be valid for before expiration.
|
|
16
17
|
*/
|
|
17
18
|
export declare const OPEN_ID_LOGIN_REQUEST_LIFETIME_MS: number;
|
|
19
|
+
/**
|
|
20
|
+
* The number of miliseconds that a WebAuthN request should be valid for before expiration.
|
|
21
|
+
*/
|
|
22
|
+
export declare const WEB_AUTHN_LOGIN_REQUEST_LIFETIME_MS: number;
|
|
18
23
|
/**
|
|
19
24
|
* The number of bytes that should be used for login request IDs.
|
|
20
25
|
*/
|
|
@@ -67,6 +72,20 @@ export declare const MAX_OPEN_AI_API_KEY_LENGTH = 100;
|
|
|
67
72
|
* The name of the Privo Open ID provider.
|
|
68
73
|
*/
|
|
69
74
|
export declare const PRIVO_OPEN_ID_PROVIDER = "privo";
|
|
75
|
+
export interface RelyingParty {
|
|
76
|
+
/**
|
|
77
|
+
* The human readable name of the relying party.
|
|
78
|
+
*/
|
|
79
|
+
name: string;
|
|
80
|
+
/**
|
|
81
|
+
* The domain of the relying party.
|
|
82
|
+
*/
|
|
83
|
+
id: string;
|
|
84
|
+
/**
|
|
85
|
+
* The HTTP origin that the relying party is hosted on.
|
|
86
|
+
*/
|
|
87
|
+
origin: string;
|
|
88
|
+
}
|
|
70
89
|
/**
|
|
71
90
|
* Defines a class that is able to authenticate users.
|
|
72
91
|
*/
|
|
@@ -76,7 +95,10 @@ export declare class AuthController {
|
|
|
76
95
|
private _forceAllowSubscriptionFeatures;
|
|
77
96
|
private _config;
|
|
78
97
|
private _privoClient;
|
|
79
|
-
|
|
98
|
+
private _webAuthNRelyingParties;
|
|
99
|
+
get relyingParties(): RelyingParty[];
|
|
100
|
+
set relyingParties(value: RelyingParty[]);
|
|
101
|
+
constructor(authStore: AuthStore, messenger: AuthMessenger, configStore: ConfigurationStore, forceAllowSubscriptionFeatures?: boolean, privoClient?: PrivoClientInterface, relyingParties?: RelyingParty[]);
|
|
80
102
|
requestLogin(request: LoginRequest): Promise<LoginRequestResult>;
|
|
81
103
|
private _validateAddress;
|
|
82
104
|
completeLogin(request: CompleteLoginRequest): Promise<CompleteLoginResult>;
|
|
@@ -84,6 +106,12 @@ export declare class AuthController {
|
|
|
84
106
|
processOpenIDAuthorizationCode(request: ProcessOpenIDAuthorizationCodeRequest): Promise<ProcessOpenIDAuthorizationCodeResult>;
|
|
85
107
|
completeOpenIDLogin(request: CompleteOpenIDLoginRequest): Promise<CompleteOpenIDLoginResult>;
|
|
86
108
|
requestPrivoSignUp(request: PrivoSignUpRequest): Promise<PrivoSignUpRequestResult>;
|
|
109
|
+
requestWebAuthnRegistration(request: RequestWebAuthnRegistration): Promise<RequestWebAuthnRegistrationResult>;
|
|
110
|
+
completeWebAuthnRegistration(request: CompleteWebAuthnRegistrationRequest): Promise<CompleteWebAuthnRegistrationResult>;
|
|
111
|
+
requestWebAuthnLogin(request: RequestWebAuthnLogin): Promise<RequestWebAuthnLoginResult>;
|
|
112
|
+
completeWebAuthnLogin(request: CompleteWebAuthnLoginRequest): Promise<CompleteWebAuthnLoginResult>;
|
|
113
|
+
listUserAuthenticators(userId: string): Promise<ListUserAuthenticatorsResult>;
|
|
114
|
+
deleteUserAuthenticator(userId: string, authenticatorId: string): Promise<DeleteUserAuthenticatorResult>;
|
|
87
115
|
validateSessionKey(key: string): Promise<ValidateSessionKeyResult>;
|
|
88
116
|
validateConnectionToken(token: string): Promise<ValidateConnectionTokenResult>;
|
|
89
117
|
revokeSession(request: RevokeSessionRequest): Promise<RevokeSessionResult>;
|
|
@@ -764,10 +792,150 @@ export interface IsValidDisplayNameSuccess {
|
|
|
764
792
|
*/
|
|
765
793
|
containsName?: boolean;
|
|
766
794
|
}
|
|
795
|
+
export interface RequestWebAuthnRegistration {
|
|
796
|
+
/**
|
|
797
|
+
* The ID of the user that is currently logged in.
|
|
798
|
+
*/
|
|
799
|
+
userId: string;
|
|
800
|
+
originOrHost: string | null;
|
|
801
|
+
}
|
|
802
|
+
export type RequestWebAuthnRegistrationResult = RequestWebAuthnRegistrationSuccess | RequestWebAuthnRegistrationFailure;
|
|
803
|
+
export interface RequestWebAuthnRegistrationSuccess {
|
|
804
|
+
success: true;
|
|
805
|
+
options: PublicKeyCredentialCreationOptionsJSON;
|
|
806
|
+
}
|
|
807
|
+
export interface RequestWebAuthnRegistrationFailure {
|
|
808
|
+
success: false;
|
|
809
|
+
errorCode: ServerError | NotLoggedInError | NotSupportedError | 'invalid_origin';
|
|
810
|
+
errorMessage: string;
|
|
811
|
+
}
|
|
812
|
+
export interface CompleteWebAuthnRegistrationRequest {
|
|
813
|
+
/**
|
|
814
|
+
* The ID of the user that is logged in.
|
|
815
|
+
*/
|
|
816
|
+
userId: string;
|
|
817
|
+
/**
|
|
818
|
+
* The registration response.
|
|
819
|
+
*/
|
|
820
|
+
response: RegistrationResponseJSON;
|
|
821
|
+
/**
|
|
822
|
+
* The HTTP origin or host that the request was made from.
|
|
823
|
+
*/
|
|
824
|
+
originOrHost: string;
|
|
825
|
+
/**
|
|
826
|
+
* The user agent that the request was made from.
|
|
827
|
+
*/
|
|
828
|
+
userAgent: string | null;
|
|
829
|
+
}
|
|
830
|
+
export interface RequestWebAuthnLogin {
|
|
831
|
+
/**
|
|
832
|
+
* The IP Address that the login request is from.
|
|
833
|
+
*/
|
|
834
|
+
ipAddress: string;
|
|
835
|
+
/**
|
|
836
|
+
* The HTTP origin or host that the request is coming from.
|
|
837
|
+
* Null if the request is coming from the same origin as the server.
|
|
838
|
+
*/
|
|
839
|
+
originOrHost: string | null;
|
|
840
|
+
}
|
|
841
|
+
export type RequestWebAuthnLoginResult = RequestWebAuthnLoginSuccess | RequestWebAuthnLoginFailure;
|
|
842
|
+
export interface RequestWebAuthnLoginSuccess {
|
|
843
|
+
success: true;
|
|
844
|
+
/**
|
|
845
|
+
* The ID of the login request.
|
|
846
|
+
*/
|
|
847
|
+
requestId: string;
|
|
848
|
+
/**
|
|
849
|
+
* The options for the login request.
|
|
850
|
+
*/
|
|
851
|
+
options: PublicKeyCredentialRequestOptionsJSON;
|
|
852
|
+
}
|
|
853
|
+
export interface RequestWebAuthnLoginFailure {
|
|
854
|
+
success: false;
|
|
855
|
+
errorCode: ServerError | NotLoggedInError | NotSupportedError | LoginRequestFailure['errorCode'] | 'invalid_origin';
|
|
856
|
+
errorMessage: string;
|
|
857
|
+
}
|
|
858
|
+
export interface CompleteWebAuthnLoginRequest {
|
|
859
|
+
/**
|
|
860
|
+
* The ID of the login request.
|
|
861
|
+
*/
|
|
862
|
+
requestId: string;
|
|
863
|
+
/**
|
|
864
|
+
* The response to the login request.
|
|
865
|
+
*/
|
|
866
|
+
response: AuthenticationResponseJSON;
|
|
867
|
+
/**
|
|
868
|
+
* The IP Address that the login request is from.
|
|
869
|
+
*/
|
|
870
|
+
ipAddress: string;
|
|
871
|
+
/**
|
|
872
|
+
* The HTTP origin or host that the request is coming from.
|
|
873
|
+
* Null if the origin is from the same origin as the server.
|
|
874
|
+
*/
|
|
875
|
+
originOrHost: string | null;
|
|
876
|
+
}
|
|
877
|
+
export type CompleteWebAuthnLoginResult = CompleteWebAuthnLoginSuccess | CompleteWebAuthnLoginFailure;
|
|
878
|
+
export interface CompleteWebAuthnLoginSuccess {
|
|
879
|
+
success: true;
|
|
880
|
+
/**
|
|
881
|
+
* The ID of the user that the session is for.
|
|
882
|
+
*/
|
|
883
|
+
userId: string;
|
|
884
|
+
/**
|
|
885
|
+
* The secret key that provides access for the session.
|
|
886
|
+
*/
|
|
887
|
+
sessionKey: string;
|
|
888
|
+
/**
|
|
889
|
+
* The connection key that provides websocket access for the session.
|
|
890
|
+
*/
|
|
891
|
+
connectionKey: string;
|
|
892
|
+
/**
|
|
893
|
+
* The unix timestamp in miliseconds that the session will expire at.
|
|
894
|
+
*/
|
|
895
|
+
expireTimeMs: number;
|
|
896
|
+
}
|
|
897
|
+
export interface CompleteWebAuthnLoginFailure {
|
|
898
|
+
success: false;
|
|
899
|
+
errorCode: ServerError | NotLoggedInError | NotSupportedError | CompleteLoginFailure['errorCode'] | LoginRequestFailure['errorCode'] | 'invalid_origin';
|
|
900
|
+
errorMessage: string;
|
|
901
|
+
/**
|
|
902
|
+
* The ban reason for the user.
|
|
903
|
+
*/
|
|
904
|
+
banReason?: AuthUser['banReason'];
|
|
905
|
+
}
|
|
906
|
+
export type CompleteWebAuthnRegistrationResult = CompleteWebAuthnRegistrationSuccess | CompleteWebAuthnRegistrationFailure;
|
|
907
|
+
export interface CompleteWebAuthnRegistrationSuccess {
|
|
908
|
+
success: true;
|
|
909
|
+
}
|
|
910
|
+
export interface CompleteWebAuthnRegistrationFailure {
|
|
911
|
+
success: false;
|
|
912
|
+
errorCode: ServerError | NotLoggedInError | NotSupportedError | NotAuthorizedError | 'invalid_origin' | 'unacceptable_request';
|
|
913
|
+
errorMessage: string;
|
|
914
|
+
}
|
|
915
|
+
export type ListUserAuthenticatorsResult = ListUserAuthenticatorsSuccess | ListUserAuthenticatorsFailure;
|
|
916
|
+
export interface ListUserAuthenticatorsSuccess {
|
|
917
|
+
success: true;
|
|
918
|
+
authenticators: AuthListedUserAuthenticator[];
|
|
919
|
+
}
|
|
920
|
+
export interface ListUserAuthenticatorsFailure {
|
|
921
|
+
success: false;
|
|
922
|
+
errorCode: ServerError | NotLoggedInError;
|
|
923
|
+
errorMessage: string;
|
|
924
|
+
}
|
|
925
|
+
export type DeleteUserAuthenticatorResult = DeleteUserAuthenticatorSuccess | DeleteUserAuthenticatorFailure;
|
|
926
|
+
export interface DeleteUserAuthenticatorSuccess {
|
|
927
|
+
success: true;
|
|
928
|
+
}
|
|
929
|
+
export interface DeleteUserAuthenticatorFailure {
|
|
930
|
+
success: false;
|
|
931
|
+
errorCode: ServerError | NotLoggedInError | NotAuthorizedError | 'not_found';
|
|
932
|
+
errorMessage: string;
|
|
933
|
+
}
|
|
767
934
|
export interface IsValidDisplayNameFailure {
|
|
768
935
|
success: false;
|
|
769
936
|
errorCode: ServerError;
|
|
770
937
|
errorMessage: string;
|
|
771
938
|
}
|
|
772
939
|
export declare function getPrivacyFeaturesFromPermissions(featureIds: PrivoConfiguration['featureIds'], permissions: (PrivoPermission | PrivoFeatureStatus)[]): PrivacyFeatures;
|
|
940
|
+
export declare function findRelyingPartyForOrigin(relyingParties: RelyingParty[], originOrHost: string): RelyingParty;
|
|
773
941
|
//# sourceMappingURL=AuthController.d.ts.map
|