@firebase/auth 0.20.7 → 0.20.8-canary.03d1fabcb

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 (40) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/auth-public.d.ts +1 -2
  3. package/dist/auth.d.ts +1 -2
  4. package/dist/cordova/index.js +2 -2
  5. package/dist/cordova/internal.js +57 -4
  6. package/dist/cordova/internal.js.map +1 -1
  7. package/dist/cordova/{popup_redirect-d3ceb9fa.js → popup_redirect-b64a377b.js} +3 -4
  8. package/dist/cordova/{popup_redirect-d3ceb9fa.js.map → popup_redirect-b64a377b.js.map} +1 -1
  9. package/dist/cordova/src/platform_browser/strategies/redirect.d.ts +1 -2
  10. package/dist/esm2017/{index-4dc22a28.js → index-d3d3ceaa.js} +42 -7
  11. package/dist/esm2017/{index-4dc22a28.js.map → index-d3d3ceaa.js.map} +1 -1
  12. package/dist/esm2017/index.js +2 -2
  13. package/dist/esm2017/internal.js +3 -3
  14. package/dist/esm2017/src/platform_browser/strategies/redirect.d.ts +1 -2
  15. package/dist/esm5/{index-e8139339.js → index-eefdd302.js} +58 -6
  16. package/dist/esm5/{index-e8139339.js.map → index-eefdd302.js.map} +1 -1
  17. package/dist/esm5/index.js +1 -1
  18. package/dist/esm5/internal.js +2 -2
  19. package/dist/esm5/src/platform_browser/strategies/redirect.d.ts +1 -2
  20. package/dist/index.webworker.esm5.js +1 -1
  21. package/dist/node/{index-fe75eadf.js → index-fb4fdeac.js} +8 -3
  22. package/dist/node/{index-fe75eadf.js.map → index-fb4fdeac.js.map} +1 -1
  23. package/dist/node/index.js +1 -1
  24. package/dist/node/internal.js +1 -1
  25. package/dist/node/internal.js.map +1 -1
  26. package/dist/node/src/platform_browser/strategies/redirect.d.ts +1 -2
  27. package/dist/node-esm/{index-2a56c39c.js → index-30edc59f.js} +9 -4
  28. package/dist/node-esm/{index-2a56c39c.js.map → index-30edc59f.js.map} +1 -1
  29. package/dist/node-esm/index.js +1 -1
  30. package/dist/node-esm/internal.js +2 -2
  31. package/dist/node-esm/internal.js.map +1 -1
  32. package/dist/node-esm/src/platform_browser/strategies/redirect.d.ts +1 -2
  33. package/dist/rn/index.js +1 -1
  34. package/dist/rn/internal.js +56 -4
  35. package/dist/rn/internal.js.map +1 -1
  36. package/dist/rn/{phone-bf6b4ef6.js → phone-d260eee1.js} +2 -2
  37. package/dist/rn/{phone-bf6b4ef6.js.map → phone-d260eee1.js.map} +1 -1
  38. package/dist/rn/src/platform_browser/strategies/redirect.d.ts +1 -2
  39. package/dist/src/platform_browser/strategies/redirect.d.ts +1 -2
  40. package/package.json +6 -6
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var phone = require('./phone-bf6b4ef6.js');
5
+ var phone = require('./phone-d260eee1.js');
6
6
  var tslib = require('tslib');
7
7
  var util = require('@firebase/util');
8
8
  var app = require('@firebase/app');
@@ -2009,8 +2009,7 @@ function _linkWithRedirect(user, provider, resolver) {
2009
2009
  *
2010
2010
  * @remarks
2011
2011
  * If sign-in succeeded, returns the signed in user. If sign-in was unsuccessful, fails with an
2012
- * error. If no redirect operation was called, returns a {@link UserCredential}
2013
- * with a null `user`.
2012
+ * error. If no redirect operation was called, returns `null`.
2014
2013
  *
2015
2014
  * @example
2016
2015
  * ```javascript
@@ -2866,6 +2865,46 @@ var browserPopupRedirectResolver = BrowserPopupRedirectResolver;
2866
2865
  * See the License for the specific language governing permissions and
2867
2866
  * limitations under the License.
2868
2867
  */
2868
+ var DEFAULT_ID_TOKEN_MAX_AGE = 5 * 60;
2869
+ var authIdTokenMaxAge = util.getExperimentalSetting('authIdTokenMaxAge') || DEFAULT_ID_TOKEN_MAX_AGE;
2870
+ var lastPostedIdToken = null;
2871
+ var mintCookieFactory = function (url) { return function (user) { return tslib.__awaiter(void 0, void 0, void 0, function () {
2872
+ var idTokenResult, _a, idTokenAge, idToken;
2873
+ return tslib.__generator(this, function (_b) {
2874
+ switch (_b.label) {
2875
+ case 0:
2876
+ _a = user;
2877
+ if (!_a) return [3 /*break*/, 2];
2878
+ return [4 /*yield*/, user.getIdTokenResult()];
2879
+ case 1:
2880
+ _a = (_b.sent());
2881
+ _b.label = 2;
2882
+ case 2:
2883
+ idTokenResult = _a;
2884
+ idTokenAge = idTokenResult &&
2885
+ (new Date().getTime() - Date.parse(idTokenResult.issuedAtTime)) / 1000;
2886
+ if (idTokenAge && idTokenAge > authIdTokenMaxAge) {
2887
+ return [2 /*return*/];
2888
+ }
2889
+ idToken = idTokenResult === null || idTokenResult === void 0 ? void 0 : idTokenResult.token;
2890
+ if (lastPostedIdToken === idToken) {
2891
+ return [2 /*return*/];
2892
+ }
2893
+ lastPostedIdToken = idToken;
2894
+ return [4 /*yield*/, fetch(url, {
2895
+ method: idToken ? 'POST' : 'DELETE',
2896
+ headers: idToken
2897
+ ? {
2898
+ 'Authorization': "Bearer " + idToken
2899
+ }
2900
+ : {}
2901
+ })];
2902
+ case 3:
2903
+ _b.sent();
2904
+ return [2 /*return*/];
2905
+ }
2906
+ });
2907
+ }); }; };
2869
2908
  /**
2870
2909
  * Returns the Auth instance associated with the provided {@link @firebase/app#FirebaseApp}.
2871
2910
  * If no instance exists, initializes an Auth instance with platform-specific default dependencies.
@@ -2880,7 +2919,7 @@ function getAuth(app$1) {
2880
2919
  if (provider.isInitialized()) {
2881
2920
  return provider.getImmediate();
2882
2921
  }
2883
- return phone.initializeAuth(app$1, {
2922
+ var auth = phone.initializeAuth(app$1, {
2884
2923
  popupRedirectResolver: browserPopupRedirectResolver,
2885
2924
  persistence: [
2886
2925
  indexedDBLocalPersistence,
@@ -2888,6 +2927,19 @@ function getAuth(app$1) {
2888
2927
  browserSessionPersistence
2889
2928
  ]
2890
2929
  });
2930
+ var authTokenSyncUrl = util.getExperimentalSetting('authTokenSyncURL');
2931
+ if (authTokenSyncUrl) {
2932
+ var mintCookie_1 = mintCookieFactory(authTokenSyncUrl);
2933
+ phone.beforeAuthStateChanged(auth, mintCookie_1, function () {
2934
+ return mintCookie_1(auth.currentUser);
2935
+ });
2936
+ phone.onIdTokenChanged(auth, function (user) { return mintCookie_1(user); });
2937
+ }
2938
+ var authEmulatorHost = util.getDefaultEmulatorHost('auth');
2939
+ if (authEmulatorHost) {
2940
+ phone.connectAuthEmulator(auth, "http://" + authEmulatorHost);
2941
+ }
2942
+ return auth;
2891
2943
  }
2892
2944
  phone.registerAuth("Browser" /* BROWSER */);
2893
2945