-
Notifications
You must be signed in to change notification settings - Fork 235
Expand file tree
/
Copy pathCredentialsManagerError.ts
More file actions
66 lines (60 loc) · 2.58 KB
/
CredentialsManagerError.ts
File metadata and controls
66 lines (60 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import { AuthError } from './AuthError';
const ERROR_CODE_MAP: Record<string, string> = {
INVALID_CREDENTIALS: 'INVALID_CREDENTIALS',
NO_CREDENTIALS: 'NO_CREDENTIALS',
NO_REFRESH_TOKEN: 'NO_REFRESH_TOKEN',
RENEW_FAILED: 'RENEW_FAILED',
STORE_FAILED: 'STORE_FAILED',
REVOKE_FAILED: 'REVOKE_FAILED',
LARGE_MIN_TTL: 'LARGE_MIN_TTL',
CREDENTIAL_MANAGER_ERROR: 'CREDENTIAL_MANAGER_ERROR',
BIOMETRICS_FAILED: 'BIOMETRICS_FAILED',
NO_NETWORK: 'NO_NETWORK',
API_ERROR: 'API_ERROR',
// --- Web (@auth0/auth0-spa-js) mappings ---
login_required: 'NO_CREDENTIALS',
consent_required: 'RENEW_FAILED',
mfa_required: 'RENEW_FAILED',
invalid_grant: 'RENEW_FAILED',
invalid_refresh_token: 'RENEW_FAILED',
missing_refresh_token: 'NO_REFRESH_TOKEN',
// --- Many-to-one mapping for granular Android Biometric errors ---
INCOMPATIBLE_DEVICE: 'INCOMPATIBLE_DEVICE',
CRYPTO_EXCEPTION: 'CRYPTO_EXCEPTION',
BIOMETRIC_NO_ACTIVITY: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_STATUS_UNKNOWN: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_UNSUPPORTED: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_HW_UNAVAILABLE: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_NONE_ENROLLED: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_NO_HARDWARE: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED: 'BIOMETRICS_FAILED',
BIOMETRIC_AUTHENTICATION_CHECK_FAILED: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_DEVICE_CREDENTIAL_NOT_AVAILABLE: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_STRONG_AND_DEVICE_CREDENTIAL_NOT_AVAILABLE:
'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_NEGATIVE_BUTTON: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_HW_NOT_PRESENT: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_NO_BIOMETRICS: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_USER_CANCELED: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_LOCKOUT_PERMANENT: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_VENDOR: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_LOCKOUT: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_CANCELED: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_NO_SPACE: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_TIMEOUT: 'BIOMETRICS_FAILED',
BIOMETRIC_ERROR_UNABLE_TO_PROCESS: 'BIOMETRICS_FAILED',
BIOMETRICS_INVALID_USER: 'BIOMETRICS_FAILED',
BIOMETRIC_AUTHENTICATION_FAILED: 'BIOMETRICS_FAILED',
};
export class CredentialsManagerError extends AuthError {
public readonly type: string;
constructor(originalError: AuthError) {
super(originalError.name, originalError.message, {
status: originalError.status,
code: originalError.code,
json: originalError.json,
});
this.type = ERROR_CODE_MAP[originalError.code] || 'UNKNOWN_ERROR';
}
}