@firebase/auth 0.21.5 → 0.21.6-canary.45a55330e

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.
Files changed (144) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +25 -0
  3. package/dist/auth-public.d.ts +135 -4
  4. package/dist/auth.d.ts +138 -4
  5. package/dist/browser-cjs/{index-ff477525.js → index-3e63d976.js} +180 -5
  6. package/dist/browser-cjs/index-3e63d976.js.map +1 -0
  7. package/dist/browser-cjs/index.d.ts +2 -1
  8. package/dist/browser-cjs/index.js +3 -1
  9. package/dist/browser-cjs/index.js.map +1 -1
  10. package/dist/browser-cjs/internal.js +3 -1
  11. package/dist/browser-cjs/internal.js.map +1 -1
  12. package/dist/browser-cjs/src/api/account_management/mfa.d.ts +38 -4
  13. package/dist/browser-cjs/src/api/authentication/mfa.d.ts +11 -0
  14. package/dist/browser-cjs/src/core/errors.d.ts +1 -0
  15. package/dist/browser-cjs/src/core/index.d.ts +1 -0
  16. package/dist/browser-cjs/src/mfa/assertions/totp.d.ts +124 -0
  17. package/dist/browser-cjs/src/mfa/assertions/totp.test.d.ts +17 -0
  18. package/dist/browser-cjs/src/mfa/mfa_info.d.ts +5 -1
  19. package/dist/browser-cjs/src/model/enum_maps.d.ts +1 -0
  20. package/dist/browser-cjs/src/model/public_types.d.ts +18 -1
  21. package/dist/browser-cjs/test/helpers/integration/helpers.d.ts +3 -0
  22. package/dist/browser-cjs/test/integration/flows/totp.test.d.ts +17 -0
  23. package/dist/cordova/index.d.ts +2 -1
  24. package/dist/cordova/index.js +2 -2
  25. package/dist/cordova/internal.js +179 -3
  26. package/dist/cordova/internal.js.map +1 -1
  27. package/dist/cordova/{popup_redirect-a4d3c436.js → popup_redirect-4dd66477.js} +31 -6
  28. package/dist/cordova/popup_redirect-4dd66477.js.map +1 -0
  29. package/dist/cordova/src/api/account_management/mfa.d.ts +38 -4
  30. package/dist/cordova/src/api/authentication/mfa.d.ts +11 -0
  31. package/dist/cordova/src/core/errors.d.ts +1 -0
  32. package/dist/cordova/src/core/index.d.ts +1 -0
  33. package/dist/cordova/src/mfa/assertions/totp.d.ts +124 -0
  34. package/dist/cordova/src/mfa/assertions/totp.test.d.ts +17 -0
  35. package/dist/cordova/src/mfa/mfa_info.d.ts +5 -1
  36. package/dist/cordova/src/model/enum_maps.d.ts +1 -0
  37. package/dist/cordova/src/model/public_types.d.ts +18 -1
  38. package/dist/cordova/test/helpers/integration/helpers.d.ts +3 -0
  39. package/dist/cordova/test/integration/flows/totp.test.d.ts +17 -0
  40. package/dist/esm2017/{index-3363a72a.js → index-c8153924.js} +179 -6
  41. package/dist/esm2017/index-c8153924.js.map +1 -0
  42. package/dist/esm2017/index.d.ts +2 -1
  43. package/dist/esm2017/index.js +1 -1
  44. package/dist/esm2017/internal.js +2 -2
  45. package/dist/esm2017/src/api/account_management/mfa.d.ts +38 -4
  46. package/dist/esm2017/src/api/authentication/mfa.d.ts +11 -0
  47. package/dist/esm2017/src/core/errors.d.ts +1 -0
  48. package/dist/esm2017/src/core/index.d.ts +1 -0
  49. package/dist/esm2017/src/mfa/assertions/totp.d.ts +124 -0
  50. package/dist/esm2017/src/mfa/assertions/totp.test.d.ts +17 -0
  51. package/dist/esm2017/src/mfa/mfa_info.d.ts +5 -1
  52. package/dist/esm2017/src/model/enum_maps.d.ts +1 -0
  53. package/dist/esm2017/src/model/public_types.d.ts +18 -1
  54. package/dist/esm2017/test/helpers/integration/helpers.d.ts +3 -0
  55. package/dist/esm2017/test/integration/flows/totp.test.d.ts +17 -0
  56. package/dist/esm5/{index-3f05dc7b.js → index-f3279380.js} +207 -6
  57. package/dist/esm5/index-f3279380.js.map +1 -0
  58. package/dist/esm5/index.d.ts +2 -1
  59. package/dist/esm5/index.js +1 -1
  60. package/dist/esm5/internal.js +2 -2
  61. package/dist/esm5/src/api/account_management/mfa.d.ts +38 -4
  62. package/dist/esm5/src/api/authentication/mfa.d.ts +11 -0
  63. package/dist/esm5/src/core/errors.d.ts +1 -0
  64. package/dist/esm5/src/core/index.d.ts +1 -0
  65. package/dist/esm5/src/mfa/assertions/totp.d.ts +124 -0
  66. package/dist/esm5/src/mfa/assertions/totp.test.d.ts +17 -0
  67. package/dist/esm5/src/mfa/mfa_info.d.ts +5 -1
  68. package/dist/esm5/src/model/enum_maps.d.ts +1 -0
  69. package/dist/esm5/src/model/public_types.d.ts +18 -1
  70. package/dist/esm5/test/helpers/integration/helpers.d.ts +3 -0
  71. package/dist/esm5/test/integration/flows/totp.test.d.ts +17 -0
  72. package/dist/index.d.ts +2 -1
  73. package/dist/index.webworker.esm5.js +23 -4
  74. package/dist/index.webworker.esm5.js.map +1 -1
  75. package/dist/node/index.d.ts +2 -1
  76. package/dist/node/index.js +83 -81
  77. package/dist/node/index.js.map +1 -1
  78. package/dist/node/internal.js +144 -142
  79. package/dist/node/internal.js.map +1 -1
  80. package/dist/node/src/api/account_management/mfa.d.ts +38 -4
  81. package/dist/node/src/api/authentication/mfa.d.ts +11 -0
  82. package/dist/node/src/core/errors.d.ts +1 -0
  83. package/dist/node/src/core/index.d.ts +1 -0
  84. package/dist/node/src/mfa/assertions/totp.d.ts +124 -0
  85. package/dist/node/src/mfa/assertions/totp.test.d.ts +17 -0
  86. package/dist/node/src/mfa/mfa_info.d.ts +5 -1
  87. package/dist/node/src/model/enum_maps.d.ts +1 -0
  88. package/dist/node/src/model/public_types.d.ts +18 -1
  89. package/dist/node/test/helpers/integration/helpers.d.ts +3 -0
  90. package/dist/node/test/integration/flows/totp.test.d.ts +17 -0
  91. package/dist/node/{index-45468d80.js → totp-9c98f1ff.js} +243 -6
  92. package/dist/node/totp-9c98f1ff.js.map +1 -0
  93. package/dist/node-esm/index.d.ts +2 -1
  94. package/dist/node-esm/index.js +2 -2
  95. package/dist/node-esm/internal.js +3 -3
  96. package/dist/node-esm/src/api/account_management/mfa.d.ts +38 -4
  97. package/dist/node-esm/src/api/authentication/mfa.d.ts +11 -0
  98. package/dist/node-esm/src/core/errors.d.ts +1 -0
  99. package/dist/node-esm/src/core/index.d.ts +1 -0
  100. package/dist/node-esm/src/mfa/assertions/totp.d.ts +124 -0
  101. package/dist/node-esm/src/mfa/assertions/totp.test.d.ts +17 -0
  102. package/dist/node-esm/src/mfa/mfa_info.d.ts +5 -1
  103. package/dist/node-esm/src/model/enum_maps.d.ts +1 -0
  104. package/dist/node-esm/src/model/public_types.d.ts +18 -1
  105. package/dist/node-esm/test/helpers/integration/helpers.d.ts +3 -0
  106. package/dist/node-esm/test/integration/flows/totp.test.d.ts +17 -0
  107. package/dist/node-esm/{index-1f9492de.js → totp-a3bfc07a.js} +213 -7
  108. package/dist/node-esm/totp-a3bfc07a.js.map +1 -0
  109. package/dist/rn/index.d.ts +2 -1
  110. package/dist/rn/index.js +1 -1
  111. package/dist/rn/internal.js +176 -1
  112. package/dist/rn/internal.js.map +1 -1
  113. package/dist/rn/{phone-e7bf48a1.js → phone-588b1f48.js} +37 -5
  114. package/dist/rn/phone-588b1f48.js.map +1 -0
  115. package/dist/rn/src/api/account_management/mfa.d.ts +38 -4
  116. package/dist/rn/src/api/authentication/mfa.d.ts +11 -0
  117. package/dist/rn/src/core/errors.d.ts +1 -0
  118. package/dist/rn/src/core/index.d.ts +1 -0
  119. package/dist/rn/src/mfa/assertions/totp.d.ts +124 -0
  120. package/dist/rn/src/mfa/assertions/totp.test.d.ts +17 -0
  121. package/dist/rn/src/mfa/mfa_info.d.ts +5 -1
  122. package/dist/rn/src/model/enum_maps.d.ts +1 -0
  123. package/dist/rn/src/model/public_types.d.ts +18 -1
  124. package/dist/rn/test/helpers/integration/helpers.d.ts +3 -0
  125. package/dist/rn/test/integration/flows/totp.test.d.ts +17 -0
  126. package/dist/src/api/account_management/mfa.d.ts +38 -4
  127. package/dist/src/api/authentication/mfa.d.ts +11 -0
  128. package/dist/src/core/errors.d.ts +1 -0
  129. package/dist/src/core/index.d.ts +1 -0
  130. package/dist/src/mfa/assertions/totp.d.ts +124 -0
  131. package/dist/src/mfa/assertions/totp.test.d.ts +17 -0
  132. package/dist/src/mfa/mfa_info.d.ts +5 -1
  133. package/dist/src/model/enum_maps.d.ts +1 -0
  134. package/dist/src/model/public_types.d.ts +18 -1
  135. package/dist/test/helpers/integration/helpers.d.ts +3 -0
  136. package/dist/test/integration/flows/totp.test.d.ts +17 -0
  137. package/package.json +10 -8
  138. package/dist/browser-cjs/index-ff477525.js.map +0 -1
  139. package/dist/cordova/popup_redirect-a4d3c436.js.map +0 -1
  140. package/dist/esm2017/index-3363a72a.js.map +0 -1
  141. package/dist/esm5/index-3f05dc7b.js.map +0 -1
  142. package/dist/node/index-45468d80.js.map +0 -1
  143. package/dist/node-esm/index-1f9492de.js.map +0 -1
  144. package/dist/rn/phone-e7bf48a1.js.map +0 -1
@@ -116,6 +116,7 @@ function _debugErrorMap() {
116
116
  _a["missing-or-invalid-nonce" /* AuthErrorCode.MISSING_OR_INVALID_NONCE */] = 'The request does not contain a valid nonce. This can occur if the ' +
117
117
  'SHA-256 hash of the provided raw nonce does not match the hashed nonce ' +
118
118
  'in the ID token payload.',
119
+ _a["missing-password" /* AuthErrorCode.MISSING_PASSWORD */] = 'A non-empty password must be provided',
119
120
  _a["missing-multi-factor-info" /* AuthErrorCode.MISSING_MFA_INFO */] = 'No second factor identifier is provided.',
120
121
  _a["missing-multi-factor-session" /* AuthErrorCode.MISSING_MFA_SESSION */] = 'The request is missing proof of first factor successful sign-in.',
121
122
  _a["missing-phone-number" /* AuthErrorCode.MISSING_PHONE_NUMBER */] = 'To send verification codes, provide a phone number for the recipient.',
@@ -770,7 +771,7 @@ var SERVER_ERROR_MAP = (_a$1 = {},
770
771
  // Sign in with email and password errors (some apply to sign up too).
771
772
  _a$1["INVALID_PASSWORD" /* ServerError.INVALID_PASSWORD */] = "wrong-password" /* AuthErrorCode.INVALID_PASSWORD */,
772
773
  // This can only happen if the SDK sends a bad request.
773
- _a$1["MISSING_PASSWORD" /* ServerError.MISSING_PASSWORD */] = "internal-error" /* AuthErrorCode.INTERNAL_ERROR */,
774
+ _a$1["MISSING_PASSWORD" /* ServerError.MISSING_PASSWORD */] = "missing-password" /* AuthErrorCode.MISSING_PASSWORD */,
774
775
  // Sign up with email and password errors.
775
776
  _a$1["EMAIL_EXISTS" /* ServerError.EMAIL_EXISTS */] = "email-already-in-use" /* AuthErrorCode.EMAIL_EXISTS */,
776
777
  _a$1["PASSWORD_LOGIN_DISABLED" /* ServerError.PASSWORD_LOGIN_DISABLED */] = "operation-not-allowed" /* AuthErrorCode.OPERATION_NOT_ALLOWED */,
@@ -939,7 +940,10 @@ function _performFetchWithErrorHandling(auth, customErrorMap, fetchFn) {
939
940
  if (e_1 instanceof util.FirebaseError) {
940
941
  throw e_1;
941
942
  }
942
- _fail(auth, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */, { 'message': String(e_1) });
943
+ // Changing this to a different error code will log user out when there is a network error
944
+ // because we treat any error other than NETWORK_REQUEST_FAILED as token is invalid.
945
+ // https://github.com/firebase/firebase-js-sdk/blob/4fbc73610d70be4e0852e7de63a39cb7897e8546/packages/auth/src/core/auth/auth_impl.ts#L309-L316
946
+ _fail(auth, "network-request-failed" /* AuthErrorCode.NETWORK_REQUEST_FAILED */, { 'message': String(e_1) });
943
947
  return [3 /*break*/, 5];
944
948
  case 5: return [2 /*return*/];
945
949
  }
@@ -5602,6 +5606,9 @@ var MultiFactorInfoImpl = /** @class */ (function () {
5602
5606
  if ('phoneInfo' in enrollment) {
5603
5607
  return PhoneMultiFactorInfoImpl._fromServerResponse(auth, enrollment);
5604
5608
  }
5609
+ else if ('totpInfo' in enrollment) {
5610
+ return TotpMultiFactorInfoImpl._fromServerResponse(auth, enrollment);
5611
+ }
5605
5612
  return _fail(auth, "internal-error" /* AuthErrorCode.INTERNAL_ERROR */);
5606
5613
  };
5607
5614
  return MultiFactorInfoImpl;
@@ -5617,6 +5624,16 @@ var PhoneMultiFactorInfoImpl = /** @class */ (function (_super) {
5617
5624
  return new PhoneMultiFactorInfoImpl(enrollment);
5618
5625
  };
5619
5626
  return PhoneMultiFactorInfoImpl;
5627
+ }(MultiFactorInfoImpl));
5628
+ var TotpMultiFactorInfoImpl = /** @class */ (function (_super) {
5629
+ tslib.__extends(TotpMultiFactorInfoImpl, _super);
5630
+ function TotpMultiFactorInfoImpl(response) {
5631
+ return _super.call(this, "totp" /* FactorId.TOTP */, response) || this;
5632
+ }
5633
+ TotpMultiFactorInfoImpl._fromServerResponse = function (_auth, enrollment) {
5634
+ return new TotpMultiFactorInfoImpl(enrollment);
5635
+ };
5636
+ return TotpMultiFactorInfoImpl;
5620
5637
  }(MultiFactorInfoImpl));
5621
5638
 
5622
5639
  /**
@@ -6583,6 +6600,7 @@ function setPersistence(auth, persistence) {
6583
6600
  *
6584
6601
  * @remarks
6585
6602
  * This includes sign-in, sign-out, and token refresh events.
6603
+ * This will not be triggered automatically upon ID token expiration. Use {@link User.getIdToken} to refresh the ID token.
6586
6604
  *
6587
6605
  * @param auth - The {@link Auth} instance.
6588
6606
  * @param nextOrObserver - callback triggered on change.
@@ -6845,6 +6863,12 @@ function startEnrollPhoneMfa(auth, request) {
6845
6863
  function finalizeEnrollPhoneMfa(auth, request) {
6846
6864
  return _performApiRequest(auth, "POST" /* HttpMethod.POST */, "/v2/accounts/mfaEnrollment:finalize" /* Endpoint.FINALIZE_MFA_ENROLLMENT */, _addTidIfNecessary(auth, request));
6847
6865
  }
6866
+ function startEnrollTotpMfa(auth, request) {
6867
+ return _performApiRequest(auth, "POST" /* HttpMethod.POST */, "/v2/accounts/mfaEnrollment:start" /* Endpoint.START_MFA_ENROLLMENT */, _addTidIfNecessary(auth, request));
6868
+ }
6869
+ function finalizeEnrollTotpMfa(auth, request) {
6870
+ return _performApiRequest(auth, "POST" /* HttpMethod.POST */, "/v2/accounts/mfaEnrollment:finalize" /* Endpoint.FINALIZE_MFA_ENROLLMENT */, _addTidIfNecessary(auth, request));
6871
+ }
6848
6872
  function withdrawMfa(auth, request) {
6849
6873
  return _performApiRequest(auth, "POST" /* HttpMethod.POST */, "/v2/accounts/mfaEnrollment:withdraw" /* Endpoint.WITHDRAW_MFA */, _addTidIfNecessary(auth, request));
6850
6874
  }
@@ -6975,7 +6999,7 @@ function multiFactor(user) {
6975
6999
  }
6976
7000
 
6977
7001
  var name = "@firebase/auth";
6978
- var version = "0.21.5";
7002
+ var version = "0.21.6-canary.45a55330e";
6979
7003
 
6980
7004
  /**
6981
7005
  * @license
@@ -7163,7 +7187,8 @@ var STORAGE_AVAILABLE_KEY = '__sak';
7163
7187
  */
7164
7188
  var FactorId = {
7165
7189
  /** Phone as second factor */
7166
- PHONE: 'phone'
7190
+ PHONE: 'phone',
7191
+ TOTP: 'totp'
7167
7192
  };
7168
7193
  /**
7169
7194
  * Enumeration of supported providers.
@@ -7259,6 +7284,9 @@ function startSignInPhoneMfa(auth, request) {
7259
7284
  }
7260
7285
  function finalizeSignInPhoneMfa(auth, request) {
7261
7286
  return _performApiRequest(auth, "POST" /* HttpMethod.POST */, "/v2/accounts/mfaSignIn:finalize" /* Endpoint.FINALIZE_MFA_SIGN_IN */, _addTidIfNecessary(auth, request));
7287
+ }
7288
+ function finalizeSignInTotpMfa(auth, request) {
7289
+ return _performApiRequest(auth, "POST" /* HttpMethod.POST */, "/v2/accounts/mfaSignIn:finalize" /* Endpoint.FINALIZE_MFA_SIGN_IN */, _addTidIfNecessary(auth, request));
7262
7290
  }
7263
7291
 
7264
7292
  /**
@@ -8406,6 +8434,7 @@ exports.FederatedAuthProvider = FederatedAuthProvider;
8406
8434
  exports.FetchProvider = FetchProvider;
8407
8435
  exports.GithubAuthProvider = GithubAuthProvider;
8408
8436
  exports.GoogleAuthProvider = GoogleAuthProvider;
8437
+ exports.MultiFactorAssertionImpl = MultiFactorAssertionImpl;
8409
8438
  exports.OAuthCredential = OAuthCredential;
8410
8439
  exports.OAuthProvider = OAuthProvider;
8411
8440
  exports.OperationType = OperationType;
@@ -8463,6 +8492,8 @@ exports.debugAssert = debugAssert;
8463
8492
  exports.debugErrorMap = debugErrorMap;
8464
8493
  exports.deleteUser = deleteUser;
8465
8494
  exports.fetchSignInMethodsForEmail = fetchSignInMethodsForEmail;
8495
+ exports.finalizeEnrollTotpMfa = finalizeEnrollTotpMfa;
8496
+ exports.finalizeSignInTotpMfa = finalizeSignInTotpMfa;
8466
8497
  exports.getAdditionalUserInfo = getAdditionalUserInfo;
8467
8498
  exports.getIdToken = getIdToken;
8468
8499
  exports.getIdTokenResult = getIdTokenResult;
@@ -8493,6 +8524,7 @@ exports.signInWithEmailLink = signInWithEmailLink;
8493
8524
  exports.signInWithIdp = signInWithIdp;
8494
8525
  exports.signInWithPhoneNumber = signInWithPhoneNumber;
8495
8526
  exports.signOut = signOut;
8527
+ exports.startEnrollTotpMfa = startEnrollTotpMfa;
8496
8528
  exports.unlink = unlink;
8497
8529
  exports.updateCurrentUser = updateCurrentUser;
8498
8530
  exports.updateEmail = updateEmail;
@@ -8502,4 +8534,4 @@ exports.updateProfile = updateProfile;
8502
8534
  exports.useDeviceLanguage = useDeviceLanguage;
8503
8535
  exports.verifyBeforeUpdateEmail = verifyBeforeUpdateEmail;
8504
8536
  exports.verifyPasswordResetCode = verifyPasswordResetCode;
8505
- //# sourceMappingURL=phone-e7bf48a1.js.map
8537
+ //# sourceMappingURL=phone-588b1f48.js.map