From 522dc2c423d79d7069fcd2e72ccbe20a007cb16c Mon Sep 17 00:00:00 2001 From: Sam Olsen Date: Wed, 27 Jan 2021 14:31:05 -0800 Subject: [PATCH 1/2] Add Auth emulator support --- javascript/testing/auth.js | 24 ++- javascript/widgets/authui.js | 6 + javascript/widgets/authui_test.js | 42 ++++++ package-lock.json | 237 ++++++++++++++---------------- 4 files changed, 181 insertions(+), 128 deletions(-) diff --git a/javascript/testing/auth.js b/javascript/testing/auth.js index 6b1b2aa5..e2ccef34 100644 --- a/javascript/testing/auth.js +++ b/javascript/testing/auth.js @@ -21,8 +21,10 @@ goog.module('firebaseui.auth.testing.FakeAuthClient'); goog.module.declareLegacyNamespace(); goog.setTestOnly(); -var MockHelper = goog.require('firebaseui.auth.testing.MockHelper'); -var array = goog.require('goog.array'); +const MockHelper = goog.require('firebaseui.auth.testing.MockHelper'); +const Uri = goog.require('goog.Uri'); +const array = goog.require('goog.array'); + /** * Fake Auth API client class. @@ -37,6 +39,7 @@ class FakeAuthClient extends MockHelper { this.user_ = {}; this['app'] = app; this['currentUser'] = null; + this['emulatorConfig'] = null; var asyncMethods = {}; // Populate auth async methods. for (var key in FakeAuthClient.AuthAsyncMethod) { @@ -66,6 +69,23 @@ class FakeAuthClient extends MockHelper { }; } + /** + * Mock useEmulator() function from main SDK. + * @param {string} url The url to talk to the emulator with. + * @param {?Object} options Options for emulator config. + */ + useEmulator(url, options) { + const uri = Uri.parse(url); + this['emulatorConfig'] = { + 'protocol': uri.getScheme(), + 'host': uri.getDomain(), + 'port': uri.getPort(), + 'options': { + 'disableWarnings': options ? options.disableWarnings : false, + }, + }; + } + /** * Asserts the expected list of frameworks IDs are logged. * @param {!Array} expectedFrameworks The expected list of frameworks diff --git a/javascript/widgets/authui.js b/javascript/widgets/authui.js index eb167815..de713438 100644 --- a/javascript/widgets/authui.js +++ b/javascript/widgets/authui.js @@ -129,6 +129,12 @@ firebaseui.auth.AuthUI = function(auth, opt_appId) { * instance. */ this.tempAuth_ = tempApp.auth(); + const emulatorConfig = auth.emulatorConfig; + if (emulatorConfig) { + const {protocol, host, port, options} = emulatorConfig; + const portString = port === null ? '' : ':' + port; + this.tempAuth_.useEmulator(`${protocol}://${host}${portString}`, options); + } // Log FirebaseUI on internal Auth instance. firebaseui.auth.AuthUI.logFirebaseUI_(this.tempAuth_); // Change persistence to session to avoid the risk of dangling auth states in diff --git a/javascript/widgets/authui_test.js b/javascript/widgets/authui_test.js index eb8c68ac..75d580c0 100644 --- a/javascript/widgets/authui_test.js +++ b/javascript/widgets/authui_test.js @@ -516,6 +516,7 @@ function testGetExternalAuth() { assertEquals('testapp2-firebaseui-temp', app2.getAuth().app.name); } + function testTempAuth_sessionPersistence() { createAndInstallTestInstances(); // Initialize app. @@ -528,6 +529,47 @@ function testTempAuth_sessionPersistence() { } +function testTempAuth_emulatorConfig() { + createAndInstallTestInstances(); + // Initialize app. + testAuth.install(); + testAuth.useEmulator('http://localhost:1234'); + app = new firebaseui.auth.AuthUI(testAuth, 'id0'); + // Confirm correct name used for temp instance. + assertEquals('testapp1-firebaseui-temp', app1.getAuth().app.name); + // Confirm emulator config properly set on internal instance. + assertObjectEquals({ + protocol: 'http', + host: 'localhost', + port: 1234, + options: { + disableWarnings: false, + } + }, app.getAuth().emulatorConfig); +} + + +function testTempAuth_emulatorConfig_handlesIPV6Hosts() { + createAndInstallTestInstances(); + // Initialize app. + testAuth.install(); + testAuth.useEmulator( + 'http://[0:0:0:0:0:0:0:0]:1234', {disableWarnings: true}); + app = new firebaseui.auth.AuthUI(testAuth, 'id0'); + // Confirm correct name used for temp instance. + assertEquals('testapp1-firebaseui-temp', app1.getAuth().app.name); + // Confirm emulator config hasn't double-quoted IPv6 address. + assertObjectEquals({ + protocol: 'http', + host: '[0:0:0:0:0:0:0:0]', + port: 1234, + options: { + disableWarnings: true, + } + }, app.getAuth().emulatorConfig); +} + + function testAppId() { createAndInstallTestInstances(); // Confirm correct app id stored for each app. diff --git a/package-lock.json b/package-lock.json index 97cf133a..e3d1b7d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,16 +5,16 @@ "requires": true, "dependencies": { "@firebase/analytics": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.0.tgz", - "integrity": "sha512-6qYEOPUVYrMhqvJ46Z5Uf1S4uULd6d7vGpMP5Qz+u8kIWuOQGcPdJKQap+Hla6Rq164or9gC2HRXuYXKlgWfpw==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.6.2.tgz", + "integrity": "sha512-4Ceov+rPfOEPIdbjlpTim/wbcUUneIesHag4UOzvmFsRRXqbxLwQpyZQWEbTSriUeU8uTKj9yOW32hsskV9Klg==", "dev": true, "requires": { "@firebase/analytics-types": "0.4.0", - "@firebase/component": "0.1.19", - "@firebase/installations": "0.4.17", + "@firebase/component": "0.1.21", + "@firebase/installations": "0.4.19", "@firebase/logger": "0.2.6", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "tslib": "^1.11.1" } }, @@ -25,15 +25,15 @@ "dev": true }, "@firebase/app": { - "version": "0.6.11", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.11.tgz", - "integrity": "sha512-FH++PaoyTzfTAVuJ0gITNYEIcjT5G+D0671La27MU8Vvr6MTko+5YUZ4xS9QItyotSeRF4rMJ1KR7G8LSyySiA==", + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.6.13.tgz", + "integrity": "sha512-xGrJETzvCb89VYbGSHFHCW7O/y067HRxT7MGehUE1xMxdPVBDNayHnxEuKwzfGvXAjVmajXBKFlKxaCWpgSjCQ==", "dev": true, "requires": { "@firebase/app-types": "0.6.1", - "@firebase/component": "0.1.19", + "@firebase/component": "0.1.21", "@firebase/logger": "0.2.6", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "dom-storage": "2.1.0", "tslib": "^1.11.1", "xmlhttprequest": "1.8.0" @@ -46,9 +46,9 @@ "dev": true }, "@firebase/auth": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.15.0.tgz", - "integrity": "sha512-IFuzhxS+HtOQl7+SZ/Mhaghy/zTU7CENsJFWbC16tv2wfLZbayKF5jYGdAU3VFLehgC8KjlcIWd10akc3XivfQ==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-0.16.2.tgz", + "integrity": "sha512-68TlDL0yh3kF8PiCzI8m8RWd/bf/xCLUsdz1NZ2Dwea0sp6e2WAhu0sem1GfhwuEwL+Ns4jCdX7qbe/OQlkVEA==", "dev": true, "requires": { "@firebase/auth-types": "0.10.1" @@ -67,50 +67,50 @@ "dev": true }, "@firebase/component": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.19.tgz", - "integrity": "sha512-L0S3g8eqaerg8y0zox3oOHSTwn/FE8RbcRHiurnbESvDViZtP5S5WnhuAPd7FnFxa8ElWK0z1Tr3ikzWDv1xdQ==", + "version": "0.1.21", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.1.21.tgz", + "integrity": "sha512-kd5sVmCLB95EK81Pj+yDTea8pzN2qo/1yr0ua9yVi6UgMzm6zAeih73iVUkaat96MAHy26yosMufkvd3zC4IKg==", "dev": true, "requires": { - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "tslib": "^1.11.1" } }, "@firebase/database": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.6.13.tgz", - "integrity": "sha512-NommVkAPzU7CKd1gyehmi3lz0K78q0KOfiex7Nfy7MBMwknLm7oNqKovXSgQV1PCLvKXvvAplDSFhDhzIf9obA==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.9.0.tgz", + "integrity": "sha512-j9NgRCsoahvAtQ8LPxMidGsiwsklbtUlDOQ6MhU6/Hk9DVYtEnVT3qSe42xOwBGDfMe191b1B2HsiEOsglWgag==", "dev": true, "requires": { "@firebase/auth-interop-types": "0.1.5", - "@firebase/component": "0.1.19", - "@firebase/database-types": "0.5.2", + "@firebase/component": "0.1.21", + "@firebase/database-types": "0.6.1", "@firebase/logger": "0.2.6", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "faye-websocket": "0.11.3", "tslib": "^1.11.1" } }, "@firebase/database-types": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.5.2.tgz", - "integrity": "sha512-ap2WQOS3LKmGuVFKUghFft7RxXTyZTDr0Xd8y2aqmWsbJVjgozi0huL/EUMgTjGFrATAjcf2A7aNs8AKKZ2a8g==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.6.1.tgz", + "integrity": "sha512-JtL3FUbWG+bM59iYuphfx9WOu2Mzf0OZNaqWiQ7lJR8wBe7bS9rIm9jlBFtksB7xcya1lZSQPA/GAy2jIlMIkA==", "dev": true, "requires": { "@firebase/app-types": "0.6.1" } }, "@firebase/firestore": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-1.18.0.tgz", - "integrity": "sha512-maMq4ltkrwjDRusR2nt0qS4wldHQMp+0IDSfXIjC+SNmjnWY/t/+Skn9U3Po+dB38xpz3i7nsKbs+8utpDnPSw==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-2.1.3.tgz", + "integrity": "sha512-+No0hcaJ7hUYD/Vyv8xvEAnIqUQHJAFF5alL3clfyqmYa7bKtffjnZs2Pvm0fEIQ+LK4ovo2be2NmwK4iV0q5g==", "dev": true, "requires": { - "@firebase/component": "0.1.19", - "@firebase/firestore-types": "1.14.0", + "@firebase/component": "0.1.21", + "@firebase/firestore-types": "2.1.0", "@firebase/logger": "0.2.6", - "@firebase/util": "0.3.2", - "@firebase/webchannel-wrapper": "0.4.0", + "@firebase/util": "0.3.4", + "@firebase/webchannel-wrapper": "0.4.1", "@grpc/grpc-js": "^1.0.0", "@grpc/proto-loader": "^0.5.0", "node-fetch": "2.6.1", @@ -118,39 +118,39 @@ } }, "@firebase/firestore-types": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-1.14.0.tgz", - "integrity": "sha512-WF8IBwHzZDhwyOgQnmB0pheVrLNP78A8PGxk1nxb/Nrgh1amo4/zYvFMGgSsTeaQK37xMYS/g7eS948te/dJxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-2.1.0.tgz", + "integrity": "sha512-jietErBWihMvJkqqEquQy5GgoEwzHnMXXC/TsVoe9FPysXm1/AeJS12taS7ZYvenAtyvL/AEJyKrRKRh4adcJQ==", "dev": true }, "@firebase/functions": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.5.1.tgz", - "integrity": "sha512-yyjPZXXvzFPjkGRSqFVS5Hc2Y7Y48GyyMH+M3i7hLGe69r/59w6wzgXKqTiSYmyE1pxfjxU4a1YqBDHNkQkrYQ==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.6.1.tgz", + "integrity": "sha512-xNCAY3cLlVWE8Azf+/84OjnaXMoyUstJ3vwVRG0ie22QhsdQuPa1tXTiPX4Tmm+Hbbd/Aw0A/7dkEnuW+zYzaQ==", "dev": true, "requires": { - "@firebase/component": "0.1.19", - "@firebase/functions-types": "0.3.17", + "@firebase/component": "0.1.21", + "@firebase/functions-types": "0.4.0", "@firebase/messaging-types": "0.5.0", "node-fetch": "2.6.1", "tslib": "^1.11.1" } }, "@firebase/functions-types": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.3.17.tgz", - "integrity": "sha512-DGR4i3VI55KnYk4IxrIw7+VG7Q3gA65azHnZxo98Il8IvYLr2UTBlSh72dTLlDf25NW51HqvJgYJDKvSaAeyHQ==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.4.0.tgz", + "integrity": "sha512-3KElyO3887HNxtxNF1ytGFrNmqD+hheqjwmT3sI09FaDCuaxGbOnsXAXH2eQ049XRXw9YQpHMgYws/aUNgXVyQ==", "dev": true }, "@firebase/installations": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.17.tgz", - "integrity": "sha512-AE/TyzIpwkC4UayRJD419xTqZkKzxwk0FLht3Dci8WI2OEKHSwoZG9xv4hOBZebe+fDzoV2EzfatQY8c/6Avig==", + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.4.19.tgz", + "integrity": "sha512-QqAQzosKVVqIx7oMt5ujF4NsIXgtlTnej4JXGJ8sQQuJoMnt3T+PFQRHbr7uOfVaBiHYhEaXCcmmhfKUHwKftw==", "dev": true, "requires": { - "@firebase/component": "0.1.19", + "@firebase/component": "0.1.21", "@firebase/installations-types": "0.3.4", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "idb": "3.0.2", "tslib": "^1.11.1" } @@ -168,15 +168,15 @@ "dev": true }, "@firebase/messaging": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.1.tgz", - "integrity": "sha512-iev/ST9v0xd/8YpGYrZtDcqdD9J6ZWzSuceRn8EKy5vIgQvW/rk2eTQc8axzvDpQ36ZfphMYuhW6XuNrR3Pd2Q==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.7.3.tgz", + "integrity": "sha512-63nOP2SmQJrj9jrhV3K96L5MRKS6AqmFVLX1XbGk6K6lz38ZC4LIoCcHxzUBXY7fCAuZvNmh/YB3pE8B2mTs8A==", "dev": true, "requires": { - "@firebase/component": "0.1.19", - "@firebase/installations": "0.4.17", + "@firebase/component": "0.1.21", + "@firebase/installations": "0.4.19", "@firebase/messaging-types": "0.5.0", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "idb": "3.0.2", "tslib": "^1.11.1" } @@ -188,16 +188,16 @@ "dev": true }, "@firebase/performance": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.2.tgz", - "integrity": "sha512-irHTCVWJ/sxJo0QHg+yQifBeVu8ZJPihiTqYzBUz/0AGc51YSt49FZwqSfknvCN2+OfHaazz/ARVBn87g7Ex8g==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.4.5.tgz", + "integrity": "sha512-oenEOaV/UzvV8XPi8afYQ71RzyrHoBesqOyXqb1TOg7dpU+i+UJ5PS8K64DytKUHTxQl+UJFcuxNpsoy9BpWzw==", "dev": true, "requires": { - "@firebase/component": "0.1.19", - "@firebase/installations": "0.4.17", + "@firebase/component": "0.1.21", + "@firebase/installations": "0.4.19", "@firebase/logger": "0.2.6", "@firebase/performance-types": "0.0.13", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "tslib": "^1.11.1" } }, @@ -219,16 +219,16 @@ } }, "@firebase/remote-config": { - "version": "0.1.28", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.28.tgz", - "integrity": "sha512-4zSdyxpt94jAnFhO8toNjG8oMKBD+xTuBIcK+Nw8BdQWeJhEamgXlupdBARUk1uf3AvYICngHH32+Si/dMVTbw==", + "version": "0.1.30", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.1.30.tgz", + "integrity": "sha512-LAfLDcp1AN0V/7AkxBuTKy+Qnq9fKYKxbA5clrXRNVzJbTVnF5eFGsaUOlkes0ESG6lbqKy5ZcDgdl73zBIhAA==", "dev": true, "requires": { - "@firebase/component": "0.1.19", - "@firebase/installations": "0.4.17", + "@firebase/component": "0.1.21", + "@firebase/installations": "0.4.19", "@firebase/logger": "0.2.6", "@firebase/remote-config-types": "0.1.9", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "tslib": "^1.11.1" } }, @@ -239,14 +239,14 @@ "dev": true }, "@firebase/storage": { - "version": "0.3.43", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.3.43.tgz", - "integrity": "sha512-Jp54jcuyimLxPhZHFVAhNbQmgTu3Sda7vXjXrNpPEhlvvMSq4yuZBR6RrZxe/OrNVprLHh/6lTCjwjOVSo3bWA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.4.2.tgz", + "integrity": "sha512-87CrvKrf8kijVekRBmUs8htsNz7N5X/pDhv3BvJBqw8K65GsUolpyjx0f4QJRkCRUYmh3MSkpa5P08lpVbC6nQ==", "dev": true, "requires": { - "@firebase/component": "0.1.19", + "@firebase/component": "0.1.21", "@firebase/storage-types": "0.3.13", - "@firebase/util": "0.3.2", + "@firebase/util": "0.3.4", "tslib": "^1.11.1" } }, @@ -257,18 +257,18 @@ "dev": true }, "@firebase/util": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.3.2.tgz", - "integrity": "sha512-Dqs00++c8rwKky6KCKLLY2T1qYO4Q+X5t+lF7DInXDNF4ae1Oau35bkD+OpJ9u7l1pEv7KHowP6CUKuySCOc8g==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.3.4.tgz", + "integrity": "sha512-VwjJUE2Vgr2UMfH63ZtIX9Hd7x+6gayi6RUXaTqEYxSbf/JmehLmAEYSuxS/NckfzAXWeGnKclvnXVibDgpjQQ==", "dev": true, "requires": { "tslib": "^1.11.1" } }, "@firebase/webchannel-wrapper": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.4.0.tgz", - "integrity": "sha512-8cUA/mg0S+BxIZ72TdZRsXKBP5n5uRcE3k29TZhZw6oIiHBt9JA7CTb/4pE1uKtE/q5NeTY2tBDcagoZ+1zjXQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.4.1.tgz", + "integrity": "sha512-0yPjzuzGMkW1GkrC8yWsiN7vt1OzkMIi9HgxRmKREZl2wnNPOKo/yScTjXf/O57HM8dltqxPF6jlNLFVtc2qdw==", "dev": true }, "@google-cloud/paginator": { @@ -454,34 +454,20 @@ } }, "@grpc/grpc-js": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.8.tgz", - "integrity": "sha512-64hg5rmEm6F/NvlWERhHmmgxbWU8nD2TMWE+9TvG7/WcOrFT3fzg/Uu631pXRFwmJ4aWO/kp9vVSlr8FUjBDLA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.2.5.tgz", + "integrity": "sha512-CBCNwedw8McnEBq9jvoiJikws16WN0OiHFejQPovY71XkFWSiIqgvydYiDwpvIYDJmhPQ7qZNzW9BPndhXbx1Q==", "dev": true, "requires": { - "@grpc/proto-loader": "^0.6.0-pre14", "@types/node": "^12.12.47", - "google-auth-library": "^6.0.0", + "google-auth-library": "^6.1.1", "semver": "^6.2.0" }, "dependencies": { - "@grpc/proto-loader": { - "version": "0.6.0-pre9", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.0-pre9.tgz", - "integrity": "sha512-oM+LjpEjNzW5pNJjt4/hq1HYayNeQT+eGrOPABJnYHv7TyNPDNzkQ76rDYZF86X5swJOa4EujEMzQ9iiTdPgww==", - "dev": true, - "requires": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^6.9.0", - "yargs": "^15.3.1" - } - }, "@types/node": { - "version": "12.19.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.3.tgz", - "integrity": "sha512-8Jduo8wvvwDzEVJCOvS/G6sgilOLvvhn1eMmK3TW8/T217O7u1jdrK6ImKLv80tVryaPSVeKu6sjDEiFjd4/eg==", + "version": "12.19.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.15.tgz", + "integrity": "sha512-lowukE3GUI+VSYSu6VcBXl14d61Rp5hA1D+61r16qnwC0lYNSqdxcvRh0pswejorHfS+HgwBasM8jLXz0/aOsw==", "dev": true } } @@ -4083,25 +4069,25 @@ } }, "firebase": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-7.24.0.tgz", - "integrity": "sha512-j6jIyGFFBlwWAmrlUg9HyQ/x+YpsPkc/TTkbTyeLwwAJrpAmmEHNPT6O9xtAnMV4g7d3RqLL/u9//aZlbY4rQA==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-8.2.4.tgz", + "integrity": "sha512-+skMZY0kXKCFVAlbwoKnRDfOhmg9rp2lDZBJk/h4PYxh/joPNTXYCKFYqUkXfwSW4jQBlLP+PtjrZKeedg6mdA==", "dev": true, "requires": { - "@firebase/analytics": "0.6.0", - "@firebase/app": "0.6.11", + "@firebase/analytics": "0.6.2", + "@firebase/app": "0.6.13", "@firebase/app-types": "0.6.1", - "@firebase/auth": "0.15.0", - "@firebase/database": "0.6.13", - "@firebase/firestore": "1.18.0", - "@firebase/functions": "0.5.1", - "@firebase/installations": "0.4.17", - "@firebase/messaging": "0.7.1", - "@firebase/performance": "0.4.2", + "@firebase/auth": "0.16.2", + "@firebase/database": "0.9.0", + "@firebase/firestore": "2.1.3", + "@firebase/functions": "0.6.1", + "@firebase/installations": "0.4.19", + "@firebase/messaging": "0.7.3", + "@firebase/performance": "0.4.5", "@firebase/polyfill": "0.3.36", - "@firebase/remote-config": "0.1.28", - "@firebase/storage": "0.3.43", - "@firebase/util": "0.3.2" + "@firebase/remote-config": "0.1.30", + "@firebase/storage": "0.4.2", + "@firebase/util": "0.3.4" } }, "firebase-tools": { @@ -4502,9 +4488,9 @@ } }, "gaxios": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.0.1.tgz", - "integrity": "sha512-jOin8xRZ/UytQeBpSXFqIzqU7Fi5TqgPNLlUsSB8kjJ76+FiGBfImF8KJu++c6J4jOldfJUtt0YmkRj2ZpSHTQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.1.0.tgz", + "integrity": "sha512-vb0to8xzGnA2qcgywAjtshOKKVDf2eQhJoiL6fHhgW5tVN7wNk7egnYIO9zotfn3lQ3De1VPdf7V5/BWfCtCmg==", "dev": true, "requires": { "abort-controller": "^3.0.0", @@ -4960,9 +4946,9 @@ } }, "google-auth-library": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.1.3.tgz", - "integrity": "sha512-m9mwvY3GWbr7ZYEbl61isWmk+fvTmOt0YNUfPOUY2VH8K5pZlAIWJjxEi0PqR3OjMretyiQLI6GURMrPSwHQ2g==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.1.6.tgz", + "integrity": "sha512-Q+ZjUEvLQj/lrVHF/IQwRo6p3s8Nc44Zk/DALsN+ac3T4HY/g/3rrufkgtl+nZ1TW7DNAw5cTChdVp4apUXVgQ==", "dev": true, "requires": { "arrify": "^2.0.0", @@ -5361,15 +5347,14 @@ "dev": true }, "gtoken": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.0.5.tgz", - "integrity": "sha512-wvjkecutFh8kVfbcdBdUWqDRrXb+WrgD79DBDEYf1Om8S1FluhylhtFjrL7Tx69vNhh259qA3Q1P4sPtb+kUYw==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.2.1.tgz", + "integrity": "sha512-OY0BfPKe3QnMsY9MzTHTSKn+Vl2l1CcLe6BwDEQj00mbbkl5nyQ/7EUREstg4fQNZ8iYE7br4JJ7TdKeDOPWmw==", "dev": true, "requires": { "gaxios": "^4.0.0", "google-p12-pem": "^3.0.3", - "jws": "^4.0.0", - "mime": "^2.2.0" + "jws": "^4.0.0" } }, "gulp": { From 46b41546c1adbf5d3abc7ffe8e01bef046246d65 Mon Sep 17 00:00:00 2001 From: Sam Olsen Date: Thu, 28 Jan 2021 11:28:22 -0800 Subject: [PATCH 2/2] Add changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29b..c7c72e9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,2 @@ +* Adds Emulator support to Auth UI. Fixes + https://github.com/firebase/firebaseui-web/issues/778 \ No newline at end of file