Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Decoupled proactive token refresh from FirebaseApp #1194

Merged
merged 4 commits into from
Mar 18, 2021

Conversation

hiranya911
Copy link
Contributor

@hiranya911 hiranya911 commented Mar 11, 2021

Our existing code for OAuth2 token management is quite complicated. This is due to FirebaseApp doing too much -- namely handling token caching as well proactive token refreshing. The proactive token refresh was added to make our RTDB connections more stable, but having this logic in FirebaseApp impacts other APIs in the SDK too. For instance this is why the SDK won't let the Node.js process terminate, unless you call app.delete().

In order to simplify our token management, and align more with other GCP libraries that deal with tokens, I'm proposing to separate the proactive token refresh from the FirebaseApp class. To that end this PR implements the following changes:

  1. Remove the proactive token refresh logic from FirebaseApp.
  2. Simplify the token caching and fetching behavior.
  3. Treat any cached token that's at most 5 minutes away from expiration to be already expired.
  4. Implement the proactive token refresh as part of the database service, where it will only get initialized if a developer starts an RTDB connection.
  5. Remove the existing complicated retry logic in the proactive token refresh.

Change no. 3 is pretty standard across GCP libraries (see here and here). We never implemented this in the Admin Node.js SDK since the token refresher was indirectly handling it. But it appears in certain environments we cannot rely on the token refresher to keep the auth token current. Therefore by eagerly treating cached tokens as expired, we can mitigate issues like #1193 entirely.

As for change no. 5, the existing retry logic in the token refresher is rather error prone and redundant. If something goes wrong with a proactive refresh attempt, the worst that could happen is any active RTDB connections dropping out upon the expiration of the current token. The RTDB SDK automatically reconnects when this happens (provided it can fetch a new token at that point). This is what we do in our Java SDK too, so there's some prior art as well.

RELEASE NOTE: Improved OAuth2 token caching and management. The SDK now treats any OAuth2 token 5 minutes away from expiration as already expired, and proactively refreshes them. This helps avoid certain types of authorization-related race conditions.
RELEASE NOTE: The periodic token refresher background task has been decoupled from the SDK core, and moved into the RTDB module. This task no longer starts automatically, unless the admin.database() API is explicitly invoked.

return db;
}

// eslint-disable-next-line @typescript-eslint/no-unused-vars
private onTokenChange(_: string): void {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC there was no other token refresh listener. If the right action is to immediately ask for a new token from app.INTERNAL should we just remove the parameter?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think an even better approach would be to change the signature of the listener to accept a FirebaseAccessToken which contains both token and expiry time. That way we wouldn't have to call getToken() in the listener at all (we currently do it to get hold of the expiry time).

However, this API currently mirrors an API in the JS SDK:

https://github.com/firebase/firebase-js-sdk/blob/ec6ccc7d319732588ceacae0824d6c7551afb026/packages/app-types/private.d.ts#L76

The RTDB implementation expects our App and App.INTERNAL APIs to be compatible with the JS SDK. Therefore we'll need to check with the JS SDK team before making any changes to the listener signature.

Copy link
Member

@inlined inlined left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely awesome turnaround time. Thanks Hiranya!

src/database/database-internal.ts Outdated Show resolved Hide resolved
src/database/database-internal.ts Outdated Show resolved Hide resolved
}

private refreshToken(): Promise<FirebaseAccessToken> {
return Promise.resolve(this.credential_.getAccessToken())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm confused. isn't getAccesssToken() already returning a promise? Why do we need to resolve the promise instead of just chaining?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought so too :)

But when I made the change, it actually caused a test failure here:

it('throws a custom credential implementation which returns invalid access tokens', () => {
const credential = {
getAccessToken: () => 5,
};
const app = utils.createAppWithOptions({
credential: credential as any,
});
return app.INTERNAL.getToken().then(() => {
throw new Error('Unexpected success');
}, (err) => {
expect(err.toString()).to.include('Invalid access token generated');
});
});

This is because the credential in this case returns a value which cannot be chained. I'm not sure how much we care about this sort of edge cases, but for now I've opted to keep it as is.

src/database/database-internal.ts Outdated Show resolved Hide resolved
}
})
.catch((err) => {
console.error('Unexpected error while attempting to schedule a token refresh:', err);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It think the error most likely occurred during getToken() and not during the scheduling step.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. But overall this function is attempting to schedule a new token refresh event. It calls getToken() just to figure out when to schedule that event.

@@ -96,9 +106,43 @@ export class DatabaseService {

this.databases[dbUrl] = db;
}

if (!this.tokenRefresh) {
this.tokenRefresh = true;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional suggestion:

You can make this a little simpler if you combine tokenRefresh and tokenRefreshTimeout. You could initialize tokenRefreshTimeout to undefined initially and then set the schedule right here, which seems more intuitive to me. With the current setup, I have to look at onTokenChange to figure out the scheduling.

I also wonder if we should use setInterval. It seems a little more appropriate, but might make things more complicated in some places.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code is just intended to register the token change listener. There's no guarantee that the listener will fire immediately. So theoretically it is possible for tokenRefresh to be true, while tokenRefreshTimeout is not yet set. What we really need is a way to track whether we have registered the listener or not (so we can avoid duplicate registrations, and also unregister it at delete). So I'm renaming tokenRefresh to tokenListenerRegistered. That should clear up any confusions, and also address the above comment regarding naming.

As for setInterval(), given that we can receive tokens with arbitrary expiration times from auth (we've seen tokens with expiry times like 30min and 45min), an interval scheduler is not very useful. So we use the token listener to watch for token changes, and schedule refresh events according to the expiry time we get.

});

return this.cachedTokenPromise_;
public getToken(forceRefresh = false): Promise<FirebaseAccessToken> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can the RTDB component just set forceRefresh to true if the expiration time has been hit? That way, we only need to deal with TOKEN_REFRESH_THRESHOLD_MILLIS in one place.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These 2 constants are used for slightly different purposes:

  1. In firebase-app it is used to determine how early we should treat a valid token as expired.
  2. In database-internal it is used to determine when to schedule the next refresh event.

These don't have to be the same value. For instance, we can have FirebaseApp invalidate a token 5 minutes before it expires, but have RTDB trigger the token refresh 10 minutes before the current token expires.

To make the above distinction clear, I'm renaming the constant in firebase-app to TOKEN_EXPIRY_THRESHOLD_MILLIS. This constant doesn't have anything to do with refreshing tokens. It's simply when we treat the token as expired.

Copy link
Member

@lahirumaramba lahirumaramba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Hiranya! LGTM!
Left a couple comments.

src/database/database-internal.ts Outdated Show resolved Hide resolved
@@ -50,6 +54,12 @@ export class DatabaseService {
* @internal
*/
public delete(): Promise<void> {
if (this.tokenRefresh) {
this.appInternal.INTERNAL.removeAuthTokenListener(this.onTokenChange);
clearTimeout(this.tokenRefreshTimeout);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it matter the what order we disarm here? Could this cause a race condition?

Copy link
Contributor Author

@hiranya911 hiranya911 Mar 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I felt like we should unregister the listener before clearing out the timer. If we clear the timer first, theoretically it's possible for the listener to fire again and re-initialize the timer. Given both these APIs are synchronous, I don't think it's a real possibility (given how Node.js schedules code), but this seems safer.

@hiranya911 hiranya911 merged commit bf4bacb into master Mar 18, 2021
@hiranya911 hiranya911 deleted the hkj-get-token branch March 18, 2021 23:20
lahirumaramba added a commit that referenced this pull request Jun 2, 2021
* chore(core): Automate Daily Integration Tests (#1130)

* Automate daily integration tests

* Rename to nightly

* Change to 6am and 8pm PT & remove tar verification

* Fix schedule comment

* Updating Google Cloud naming (#1122)

* Reinstating tag that devsite needs present to supress machine translation.

* Updating a couple of references to GCP/Google Cloud Platform per new branding guidelines.

* update typo in interface name (#1138)

FireabseErrorInterface -> FirebaseErrorInterface

* Improve token verification logic with Auth Emulator. (#1148)

* Improve token verification logic with Auth Emulator.

* Clean up comments.

* Fix linting issues.

* Address review comments.

* Use mock for auth emulator unit test.

* Implement session cookies.

* Call useEmulator() only once.

* Update tests.

* Delete unused test helper.

* Add unit tests for checking revocation.

* Fix typo in test comments.

* feat: Exporting all types of Messages so they can be used by consumers (#1147)

* feat: Exporting all types of Messages so they can be used by consumers

Fixes #1146

* feat(exportMessageTypes): Testing TokenMessage

* feat(exportMessageTypes): Added tests for all Message types

* feat(exportMessageTypes): Fixed build

* feat(exportMessageTypes): Better unit tests

* feat(exportMessageTypes): Deleted unneeded separate TS test

* feat(exportMessageTypes): Fixed build

* feat(exportMessageTypes): Fixed linting

* feat(auth): Implement getUserByProviderId (#769)

RELEASE NOTE: Added a new getUserByProviderId() to lookup user accounts by their providers.

* Allow enabling of anonymous provider via tenant configuration (#802)

RELEASE NOTES: Allow enabling of anonymous provider via tenant configuration.

* feat(auth): Add ability to link a federated ID with the `updateUser()` method. (#770)

* (chore): Export UserProvider type and add it to toc.yaml (#1165)

- Export UserProvider type
- Add UserProvider to toc.yaml

* [chore] Release 9.5.0 (#1167)

Release 9.5.0

* chore: Updated doc generator for typedoc 0.19.0 (#1166)

* Update HOME.md (#1181)

Quick addition of a little bit of clarifying verbiage per an internal bug report.  Thanks!

* feat(rtdb): Support emulator mode for rules management operations (#1190)

* feat(rtdb): Support emulator mode for rules management operations

* fix: Adding namespace to emulated URL string

* fix: Consolidated unit testing

* fix: Removed extra whitespace

* fix: Decoupled proactive token refresh from FirebaseApp (#1194)

* fix: Decoupled proactive token refresh from FirebaseApp

* fix: Defined constants for duration values

* fix: Logging errors encountered while scheduling a refresh

* fix: Renamed some variables for clarity

* fix(rtdb): Fixing the RTDB token listener callback (#1203)

* Add emulator-based integration tests. (#1155)

* Add emulator-based integration tests.

* Move emulator stuff out of package.json.

* Update CONTRIBUTING.md too.

* Add npx.

* Skip new unsupported tests.

* Inline commands in ci.yml.

* Disable one flaky tests in emulator. (#1205)

* [chore] Release 9.6.0 (#1209)

* (chore): Add JWT Decoder and Signature Verifier (#1204)

* (chore): Add JWT Decoder

* Add signature verifier and key fetcher abstractions

* Add unit tests for utils/jwt

* chore: Add Mailgun send email action (#1210)

* Add Mailgun send email github action
* Add send email action in nightly workflow

* chore: Fix bug in send-email action code (#1214)

* chore: Fix bug in send-email action code

* Add run id and trigger on repo dispatch event

* Change dispatch event name in nightly workflow (#1216)

- Change dispatch event name to `firebase_nightly_build`

* chore: Clean up nightly workflow trigger tests (#1212)

- Remove failing integration test added to trigger the send email workflow in nightly builds.

* Add support for FIREBASE_STORAGE_EMULATOR_HOST env var (#1175)

* Add support for FIREBASE_STORAGE_EMULATOR_HOST env var

* Fixes lint error

* Add test for FIREBASE_STORAGE_EMULATOR_HOST support

* Lint fix

* Minor fixes to storage tests

* Address review comments

* Address review suggestion

Co-authored-by: Samuel Bushi <ssbushi@google.com>

* Revert "Disable one flaky tests in emulator. (#1205)" (#1227)

This reverts commit 19660d9.

* fix(rtdb): Fixing a token refresh livelock in Cloud Functions (#1234)

* [chore] Release 9.7.0 (#1240)

* fix: adds missing EMAIL_NOT_FOUND error code (#1246)

Catch `EMAIL_NOT_FOUND` and translate to `auth/email-not-found` when `/accounts:sendOobCode` is called for password reset on a user that does not exist.
Fixes #1202

* build(deps-dev): bump lodash from 4.17.19 to 4.17.21 (#1255)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Upgraded RTDB and other @firebase dependencies (#1250)

* build(deps): bump y18n from 3.2.1 to 3.2.2 (#1208)

Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix storage emulator env formatting (#1257)

* Fix storage emulator env formatting

* Repair test

* Rename test

* Dang tests 2 good 4 me

* Fix test

* Fix tests again

* build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#1260)

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](npm/hosted-git-info@v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* feat: Add abuse reduction support (#1264)

- Add abuse reduction support APIs

* Fix @types/node conflict with grpc and port type (#1258)

Upgraded the @types/node dependency to v12.12.47

* [chore] Release 9.8.0 (#1266)

* build(deps): bump handlebars from 4.7.6 to 4.7.7 (#1253)

Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](handlebars-lang/handlebars.js@v4.7.6...v4.7.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jose from 2.0.4 to 2.0.5 (#1265)

Bumps [jose](https://github.com/panva/jose) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.5/CHANGELOG.md)
- [Commits](panva/jose@v2.0.4...v2.0.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revert regression introduced in #1257 (#1277)

* fix(auth): make MFA uid optional for updateUser operations (#1278)

* fix(auth): make MFA uid optional for updateUser operations

MFA `uid` should be optional for `updateUser` operations.
When not specified, the backend will provision a `uid` for the
enrolled second factor.

Fixes #1276

* chore: Enabled dependabot (#1279)

* chore: Remove gulp-replace dependency (#1285)

* build(deps-dev): bump gulp-header from 1.8.12 to 2.0.9 (#1283)

Bumps [gulp-header](https://github.com/tracker1/gulp-header) from 1.8.12 to 2.0.9.
- [Release notes](https://github.com/tracker1/gulp-header/releases)
- [Changelog](https://github.com/gulp-community/gulp-header/blob/master/changelog.md)
- [Commits](gulp-community/gulp-header@v1.8.12...v2.0.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump run-sequence from 1.2.2 to 2.2.1 (#1282)

Bumps [run-sequence](https://github.com/OverZealous/run-sequence) from 1.2.2 to 2.2.1.
- [Release notes](https://github.com/OverZealous/run-sequence/releases)
- [Changelog](https://github.com/OverZealous/run-sequence/blob/master/CHANGELOG.md)
- [Commits](OverZealous/run-sequence@v1.2.2...v2.2.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump sinon from 9.0.2 to 9.2.4 (#1289)

Bumps [sinon](https://github.com/sinonjs/sinon) from 9.0.2 to 9.2.4.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](sinonjs/sinon@v9.0.2...v9.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump nyc from 14.1.1 to 15.1.0 (#1290)

Bumps [nyc](https://github.com/istanbuljs/nyc) from 14.1.1 to 15.1.0.
- [Release notes](https://github.com/istanbuljs/nyc/releases)
- [Changelog](https://github.com/istanbuljs/nyc/blob/master/CHANGELOG.md)
- [Commits](istanbuljs/nyc@v14.1.1...v15.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump chalk from 1.1.3 to 4.1.1 (#1288)

Bumps [chalk](https://github.com/chalk/chalk) from 1.1.3 to 4.1.1.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](chalk/chalk@v1.1.3...v4.1.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @microsoft/api-extractor from 7.11.2 to 7.15.2 (#1291)

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.11.2 to 7.15.2.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.11.2...@microsoft/api-extractor_v7.15.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Teporarily disabling sendToDeviceGroup integration test (#1292)

* feat(auth): Added code flow support for OIDC flow. (#1220)

* OIDC codeflow support

* improve configs to simulate the real cases

* update for changes in signiture

* resolve comments

* improve validator logic

* remove unnecessary logic

* add tests and fix errors

* add auth-api-request rests

* Update supported Node version to 10.13.0v (#1300)

* Fixed integration test failure of skipped tests (#1299)

* Fix integration test failure of skipped testss

* Trigger integration tests

* [chore] Release 9.9.0 (#1302)

* Update OIDC reference docs (#1305)

* Add OAuthResponseType to ToC (#1303)

* fix(auth): Better type hierarchies for Auth API (#1294)

* fix(auth): Better type heirarchies for Auth API

* fix: Moved factorId back to the base types

* fix: Updated API report

* fix: Fixed a grammar error in comment

* fix: Update to comment text

* Fix build issues

* Add new auth type hierarchies from the main branch

* Update import paths

* Update package-lock

* Export new auth types from the entry point

Co-authored-by: egilmorez <egilmore@google.com>
Co-authored-by: batuxd <9674241+suchcodemuchwow@users.noreply.github.com>
Co-authored-by: Yuchen Shi <yuchenshi@google.com>
Co-authored-by: Marc Bornträger <marc.borntraeger@gmail.com>
Co-authored-by: rsgowman <rgowman@google.com>
Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>
Co-authored-by: Abe Haskins <abeisgreat@abeisgreat.com>
Co-authored-by: Samuel Bushi <ssbushi@google.com>
Co-authored-by: bojeil-google <bojeil-google@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikhil Agarwal <54072321+nikhilag@users.noreply.github.com>
Co-authored-by: Xin Li <xinxinxin@google.com>
hiranya911 added a commit that referenced this pull request Aug 18, 2021
* chore(core): Automate Daily Integration Tests (#1130)

* Automate daily integration tests

* Rename to nightly

* Change to 6am and 8pm PT & remove tar verification

* Fix schedule comment

* Updating Google Cloud naming (#1122)

* Reinstating tag that devsite needs present to supress machine translation.

* Updating a couple of references to GCP/Google Cloud Platform per new branding guidelines.

* update typo in interface name (#1138)

FireabseErrorInterface -> FirebaseErrorInterface

* Improve token verification logic with Auth Emulator. (#1148)

* Improve token verification logic with Auth Emulator.

* Clean up comments.

* Fix linting issues.

* Address review comments.

* Use mock for auth emulator unit test.

* Implement session cookies.

* Call useEmulator() only once.

* Update tests.

* Delete unused test helper.

* Add unit tests for checking revocation.

* Fix typo in test comments.

* feat: Exporting all types of Messages so they can be used by consumers (#1147)

* feat: Exporting all types of Messages so they can be used by consumers

Fixes #1146

* feat(exportMessageTypes): Testing TokenMessage

* feat(exportMessageTypes): Added tests for all Message types

* feat(exportMessageTypes): Fixed build

* feat(exportMessageTypes): Better unit tests

* feat(exportMessageTypes): Deleted unneeded separate TS test

* feat(exportMessageTypes): Fixed build

* feat(exportMessageTypes): Fixed linting

* feat(auth): Implement getUserByProviderId (#769)

RELEASE NOTE: Added a new getUserByProviderId() to lookup user accounts by their providers.

* Allow enabling of anonymous provider via tenant configuration (#802)

RELEASE NOTES: Allow enabling of anonymous provider via tenant configuration.

* feat(auth): Add ability to link a federated ID with the `updateUser()` method. (#770)

* (chore): Export UserProvider type and add it to toc.yaml (#1165)

- Export UserProvider type
- Add UserProvider to toc.yaml

* [chore] Release 9.5.0 (#1167)

Release 9.5.0

* chore: Updated doc generator for typedoc 0.19.0 (#1166)

* Update HOME.md (#1181)

Quick addition of a little bit of clarifying verbiage per an internal bug report.  Thanks!

* feat(rtdb): Support emulator mode for rules management operations (#1190)

* feat(rtdb): Support emulator mode for rules management operations

* fix: Adding namespace to emulated URL string

* fix: Consolidated unit testing

* fix: Removed extra whitespace

* fix: Decoupled proactive token refresh from FirebaseApp (#1194)

* fix: Decoupled proactive token refresh from FirebaseApp

* fix: Defined constants for duration values

* fix: Logging errors encountered while scheduling a refresh

* fix: Renamed some variables for clarity

* fix(rtdb): Fixing the RTDB token listener callback (#1203)

* Add emulator-based integration tests. (#1155)

* Add emulator-based integration tests.

* Move emulator stuff out of package.json.

* Update CONTRIBUTING.md too.

* Add npx.

* Skip new unsupported tests.

* Inline commands in ci.yml.

* Disable one flaky tests in emulator. (#1205)

* [chore] Release 9.6.0 (#1209)

* (chore): Add JWT Decoder and Signature Verifier (#1204)

* (chore): Add JWT Decoder

* Add signature verifier and key fetcher abstractions

* Add unit tests for utils/jwt

* chore: Add Mailgun send email action (#1210)

* Add Mailgun send email github action
* Add send email action in nightly workflow

* chore: Fix bug in send-email action code (#1214)

* chore: Fix bug in send-email action code

* Add run id and trigger on repo dispatch event

* Change dispatch event name in nightly workflow (#1216)

- Change dispatch event name to `firebase_nightly_build`

* chore: Clean up nightly workflow trigger tests (#1212)

- Remove failing integration test added to trigger the send email workflow in nightly builds.

* Add support for FIREBASE_STORAGE_EMULATOR_HOST env var (#1175)

* Add support for FIREBASE_STORAGE_EMULATOR_HOST env var

* Fixes lint error

* Add test for FIREBASE_STORAGE_EMULATOR_HOST support

* Lint fix

* Minor fixes to storage tests

* Address review comments

* Address review suggestion

Co-authored-by: Samuel Bushi <ssbushi@google.com>

* Revert "Disable one flaky tests in emulator. (#1205)" (#1227)

This reverts commit 19660d9.

* fix(rtdb): Fixing a token refresh livelock in Cloud Functions (#1234)

* [chore] Release 9.7.0 (#1240)

* fix: adds missing EMAIL_NOT_FOUND error code (#1246)

Catch `EMAIL_NOT_FOUND` and translate to `auth/email-not-found` when `/accounts:sendOobCode` is called for password reset on a user that does not exist.
Fixes #1202

* build(deps-dev): bump lodash from 4.17.19 to 4.17.21 (#1255)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Upgraded RTDB and other @firebase dependencies (#1250)

* build(deps): bump y18n from 3.2.1 to 3.2.2 (#1208)

Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix storage emulator env formatting (#1257)

* Fix storage emulator env formatting

* Repair test

* Rename test

* Dang tests 2 good 4 me

* Fix test

* Fix tests again

* build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#1260)

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](npm/hosted-git-info@v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* feat: Add abuse reduction support (#1264)

- Add abuse reduction support APIs

* Fix @types/node conflict with grpc and port type (#1258)

Upgraded the @types/node dependency to v12.12.47

* [chore] Release 9.8.0 (#1266)

* build(deps): bump handlebars from 4.7.6 to 4.7.7 (#1253)

Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](handlebars-lang/handlebars.js@v4.7.6...v4.7.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jose from 2.0.4 to 2.0.5 (#1265)

Bumps [jose](https://github.com/panva/jose) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.5/CHANGELOG.md)
- [Commits](panva/jose@v2.0.4...v2.0.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revert regression introduced in #1257 (#1277)

* fix(auth): make MFA uid optional for updateUser operations (#1278)

* fix(auth): make MFA uid optional for updateUser operations

MFA `uid` should be optional for `updateUser` operations.
When not specified, the backend will provision a `uid` for the
enrolled second factor.

Fixes #1276

* chore: Enabled dependabot (#1279)

* chore: Remove gulp-replace dependency (#1285)

* build(deps-dev): bump gulp-header from 1.8.12 to 2.0.9 (#1283)

Bumps [gulp-header](https://github.com/tracker1/gulp-header) from 1.8.12 to 2.0.9.
- [Release notes](https://github.com/tracker1/gulp-header/releases)
- [Changelog](https://github.com/gulp-community/gulp-header/blob/master/changelog.md)
- [Commits](gulp-community/gulp-header@v1.8.12...v2.0.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump run-sequence from 1.2.2 to 2.2.1 (#1282)

Bumps [run-sequence](https://github.com/OverZealous/run-sequence) from 1.2.2 to 2.2.1.
- [Release notes](https://github.com/OverZealous/run-sequence/releases)
- [Changelog](https://github.com/OverZealous/run-sequence/blob/master/CHANGELOG.md)
- [Commits](OverZealous/run-sequence@v1.2.2...v2.2.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump sinon from 9.0.2 to 9.2.4 (#1289)

Bumps [sinon](https://github.com/sinonjs/sinon) from 9.0.2 to 9.2.4.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](sinonjs/sinon@v9.0.2...v9.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump nyc from 14.1.1 to 15.1.0 (#1290)

Bumps [nyc](https://github.com/istanbuljs/nyc) from 14.1.1 to 15.1.0.
- [Release notes](https://github.com/istanbuljs/nyc/releases)
- [Changelog](https://github.com/istanbuljs/nyc/blob/master/CHANGELOG.md)
- [Commits](istanbuljs/nyc@v14.1.1...v15.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump chalk from 1.1.3 to 4.1.1 (#1288)

Bumps [chalk](https://github.com/chalk/chalk) from 1.1.3 to 4.1.1.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](chalk/chalk@v1.1.3...v4.1.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @microsoft/api-extractor from 7.11.2 to 7.15.2 (#1291)

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.11.2 to 7.15.2.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.11.2...@microsoft/api-extractor_v7.15.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Teporarily disabling sendToDeviceGroup integration test (#1292)

* feat(auth): Added code flow support for OIDC flow. (#1220)

* OIDC codeflow support

* improve configs to simulate the real cases

* update for changes in signiture

* resolve comments

* improve validator logic

* remove unnecessary logic

* add tests and fix errors

* add auth-api-request rests

* Update supported Node version to 10.13.0v (#1300)

* Fixed integration test failure of skipped tests (#1299)

* Fix integration test failure of skipped testss

* Trigger integration tests

* [chore] Release 9.9.0 (#1302)

* Update OIDC reference docs (#1305)

* Add OAuthResponseType to ToC (#1303)

* fix(auth): Better type hierarchies for Auth API (#1294)

* fix(auth): Better type heirarchies for Auth API

* fix: Moved factorId back to the base types

* fix: Updated API report

* fix: Fixed a grammar error in comment

* fix: Update to comment text

* build(deps-dev): bump nock from 13.0.5 to 13.0.11 (#1311)

Bumps [nock](https://github.com/nock/nock) from 13.0.5 to 13.0.11.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.0.5...v13.0.11)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump ws from 7.3.1 to 7.4.6 (#1309)

Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@7.3.1...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump del from 2.2.2 to 6.0.0 (#1310)

Bumps [del](https://github.com/sindresorhus/del) from 2.2.2 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/del/releases)
- [Commits](sindresorhus/del@v2.2.2...v6.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/jsonwebtoken from 8.5.0 to 8.5.1 (#1315)

Bumps [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) from 8.5.0 to 8.5.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsonwebtoken)

---
updated-dependencies:
- dependency-name: "@types/jsonwebtoken"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump nock from 13.0.11 to 13.1.0 (#1313)

Bumps [nock](https://github.com/nock/nock) from 13.0.11 to 13.1.0.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.0.11...v13.1.0)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/sinon-chai from 3.2.4 to 3.2.5 (#1316)

Bumps [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon-chai)

---
updated-dependencies:
- dependency-name: "@types/sinon-chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump bcrypt from 5.0.0 to 5.0.1 (#1324)

Bumps [bcrypt](https://github.com/kelektiv/node.bcrypt.js) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/kelektiv/node.bcrypt.js/releases)
- [Changelog](https://github.com/kelektiv/node.bcrypt.js/blob/master/CHANGELOG.md)
- [Commits](kelektiv/node.bcrypt.js@v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: bcrypt
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @google-cloud/firestore from 4.5.0 to 4.12.2 (#1325)

Bumps [@google-cloud/firestore](https://github.com/googleapis/nodejs-firestore) from 4.5.0 to 4.12.2.
- [Release notes](https://github.com/googleapis/nodejs-firestore/releases)
- [Changelog](https://github.com/googleapis/nodejs-firestore/blob/master/CHANGELOG.md)
- [Commits](googleapis/nodejs-firestore@v4.5.0...v4.12.2)

---
updated-dependencies:
- dependency-name: "@google-cloud/firestore"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/mocha from 2.2.48 to 8.2.2 (#1323)

Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 2.2.48 to 8.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @firebase/app from 0.6.21 to 0.6.26 (#1329)

Bumps [@firebase/app](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/app) from 0.6.21 to 0.6.26.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/@firebase/app@0.6.26/packages/app/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/app@0.6.26/packages/app)

---
updated-dependencies:
- dependency-name: "@firebase/app"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.0 to 0.10.4 (#1328)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.0 to 0.10.4.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.4/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump request-promise from 4.2.5 to 4.2.6 (#1331)

Bumps [request-promise](https://github.com/request/request-promise) from 4.2.5 to 4.2.6.
- [Release notes](https://github.com/request/request-promise/releases)
- [Commits](request/request-promise@v4.2.5...v4.2.6)

---
updated-dependencies:
- dependency-name: request-promise
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump gulp-filter from 6.0.0 to 7.0.0 (#1334)

Bumps [gulp-filter](https://github.com/sindresorhus/gulp-filter) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/sindresorhus/gulp-filter/releases)
- [Commits](sindresorhus/gulp-filter@v6.0.0...v7.0.0)

---
updated-dependencies:
- dependency-name: gulp-filter
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/minimist from 1.2.0 to 1.2.1 (#1336)

Bumps [@types/minimist](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimist) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimist)

---
updated-dependencies:
- dependency-name: "@types/minimist"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(docs): replace all global.html -> admin.html (#1341)

Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* feat(fis): Adding the admin.installations() API for deleting Firebase installation IDs (#1187)

* feat(fis): Added admin.installations() API

* fix: Marked IID APIs deprecated

* fix: Deprecated App.instanceId() method; Added more unit and integration tests

* fix: Throwing FirebaseInstallationsError from constructor

* fix: Some docs updates

* fix: Minor update to API doc comment

* fix: Added Installations class to API ref toc

* fix: Minor doc updates

* fix: Updated TOC for new Auth type aliases (#1342)

* [chore] Release 9.10.0

* [chore] Release 9.10.0 (#1345)

* build(deps-dev): bump @types/request-promise from 4.1.46 to 4.1.47 (#1338)

Bumps [@types/request-promise](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/request-promise) from 4.1.46 to 4.1.47.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/request-promise)

---
updated-dependencies:
- dependency-name: "@types/request-promise"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.4 to 0.10.5 (#1350)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.5/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/nock from 9.3.1 to 11.1.0 (#1351)

Bumps [@types/nock](https://github.com/nock/nock) from 9.3.1 to 11.1.0.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v9.3.1...v11.1.0)

---
updated-dependencies:
- dependency-name: "@types/nock"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/sinon from 9.0.4 to 10.0.2 (#1326)

Bumps [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) from 9.0.4 to 10.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon)

---
updated-dependencies:
- dependency-name: "@types/sinon"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.5 to 0.10.6 (#1356)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.6/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jwks-rsa from 2.0.2 to 2.0.3 (#1361)

Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jwks-rsa@v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: jwks-rsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump yargs from 16.1.0 to 17.0.1 (#1357)

Bumps [yargs](https://github.com/yargs/yargs) from 16.1.0 to 17.0.1.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](yargs/yargs@v16.1.0...v17.0.1)

---
updated-dependencies:
- dependency-name: yargs
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/chai from 4.2.11 to 4.2.21 (#1365)

Bumps [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) from 4.2.11 to 4.2.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update index.ts (#1367)

Fix typo in comments: `sendMulticase` -> `sendMulticast`

* build(deps): bump @google-cloud/firestore from 4.12.2 to 4.13.1 (#1369)

Bumps [@google-cloud/firestore](https://github.com/googleapis/nodejs-firestore) from 4.12.2 to 4.13.1.
- [Release notes](https://github.com/googleapis/nodejs-firestore/releases)
- [Changelog](https://github.com/googleapis/nodejs-firestore/blob/master/CHANGELOG.md)
- [Commits](googleapis/nodejs-firestore@v4.12.2...v4.13.1)

---
updated-dependencies:
- dependency-name: "@google-cloud/firestore"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(fac): Add custom TTL options for App Check (#1363)

* Add custom ttl options for App Check

* PR fixes

* Add integration tests

* PR fixes

* Reduce App Check custom token exp to 5 mins (#1372)

* Add AppCheckTokenOptions type to ToC (#1375)

Add `AppCheckTokenOptions` to `ToC`

* Fix typo and formatting in docs (#1378)

- Fix typo and add back-ticks

* [chore] Release 9.11.0 (#1376)

- Release 9.11.0

* build(deps-dev): bump nock from 13.1.0 to 13.1.1 (#1370)

Bumps [nock](https://github.com/nock/nock) from 13.1.0 to 13.1.1.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.1.0...v13.1.1)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/bcrypt from 2.0.0 to 5.0.0 (#1384)

Bumps [@types/bcrypt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcrypt) from 2.0.0 to 5.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bcrypt)

---
updated-dependencies:
- dependency-name: "@types/bcrypt"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.6 to 0.10.7 (#1385)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.6 to 0.10.7.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.7/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/lodash from 4.14.157 to 4.14.171 (#1386)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.157 to 4.14.171.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/request from 2.48.5 to 2.48.6 (#1387)

Bumps [@types/request](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/request) from 2.48.5 to 2.48.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/request)

---
updated-dependencies:
- dependency-name: "@types/request"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/minimist from 1.2.1 to 1.2.2 (#1388)

Bumps [@types/minimist](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimist) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimist)

---
updated-dependencies:
- dependency-name: "@types/minimist"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jwks-rsa from 2.0.3 to 2.0.4 (#1393)

Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jwks-rsa@v2.0.3...2.0.4)

---
updated-dependencies:
- dependency-name: jwks-rsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @microsoft/api-extractor from 7.15.2 to 7.18.4 (#1379)

* build(deps-dev): bump @microsoft/api-extractor from 7.15.2 to 7.18.4

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.15.2 to 7.18.4.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.15.2...@microsoft/api-extractor_v7.18.4)

---
updated-dependencies:
- dependency-name: "@microsoft/api-extractor"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: Updated API report with the new API Extractor version

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* build(deps): bump tar from 6.1.0 to 6.1.3 (#1399)

Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.3.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v6.1.0...v6.1.3)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ts-node from 9.0.0 to 10.2.0 (#1402)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 9.0.0 to 10.2.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](TypeStrong/ts-node@v9.0.0...v10.2.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Regenerated package-lock file

* fix: Fixing a typo in doc comment

Co-authored-by: Lahiru Maramba <llahiru@gmail.com>
Co-authored-by: egilmorez <egilmore@google.com>
Co-authored-by: batuxd <9674241+suchcodemuchwow@users.noreply.github.com>
Co-authored-by: Yuchen Shi <yuchenshi@google.com>
Co-authored-by: Marc Bornträger <marc.borntraeger@gmail.com>
Co-authored-by: rsgowman <rgowman@google.com>
Co-authored-by: Abe Haskins <abeisgreat@abeisgreat.com>
Co-authored-by: Samuel Bushi <ssbushi@google.com>
Co-authored-by: bojeil-google <bojeil-google@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikhil Agarwal <54072321+nikhilag@users.noreply.github.com>
Co-authored-by: Xin Li <xinxinxin@google.com>
Co-authored-by: NothingEverHappens <kirjs@google.com>
Co-authored-by: Daniel Hritzkiv <daniel.hritzkiv@gmail.com>
hiranya911 added a commit that referenced this pull request Sep 30, 2021
* chore(core): Automate Daily Integration Tests (#1130)

* Automate daily integration tests

* Rename to nightly

* Change to 6am and 8pm PT & remove tar verification

* Fix schedule comment

* Updating Google Cloud naming (#1122)

* Reinstating tag that devsite needs present to supress machine translation.

* Updating a couple of references to GCP/Google Cloud Platform per new branding guidelines.

* update typo in interface name (#1138)

FireabseErrorInterface -> FirebaseErrorInterface

* Improve token verification logic with Auth Emulator. (#1148)

* Improve token verification logic with Auth Emulator.

* Clean up comments.

* Fix linting issues.

* Address review comments.

* Use mock for auth emulator unit test.

* Implement session cookies.

* Call useEmulator() only once.

* Update tests.

* Delete unused test helper.

* Add unit tests for checking revocation.

* Fix typo in test comments.

* feat: Exporting all types of Messages so they can be used by consumers (#1147)

* feat: Exporting all types of Messages so they can be used by consumers

Fixes #1146

* feat(exportMessageTypes): Testing TokenMessage

* feat(exportMessageTypes): Added tests for all Message types

* feat(exportMessageTypes): Fixed build

* feat(exportMessageTypes): Better unit tests

* feat(exportMessageTypes): Deleted unneeded separate TS test

* feat(exportMessageTypes): Fixed build

* feat(exportMessageTypes): Fixed linting

* feat(auth): Implement getUserByProviderId (#769)

RELEASE NOTE: Added a new getUserByProviderId() to lookup user accounts by their providers.

* Allow enabling of anonymous provider via tenant configuration (#802)

RELEASE NOTES: Allow enabling of anonymous provider via tenant configuration.

* feat(auth): Add ability to link a federated ID with the `updateUser()` method. (#770)

* (chore): Export UserProvider type and add it to toc.yaml (#1165)

- Export UserProvider type
- Add UserProvider to toc.yaml

* [chore] Release 9.5.0 (#1167)

Release 9.5.0

* chore: Updated doc generator for typedoc 0.19.0 (#1166)

* Update HOME.md (#1181)

Quick addition of a little bit of clarifying verbiage per an internal bug report.  Thanks!

* feat(rtdb): Support emulator mode for rules management operations (#1190)

* feat(rtdb): Support emulator mode for rules management operations

* fix: Adding namespace to emulated URL string

* fix: Consolidated unit testing

* fix: Removed extra whitespace

* fix: Decoupled proactive token refresh from FirebaseApp (#1194)

* fix: Decoupled proactive token refresh from FirebaseApp

* fix: Defined constants for duration values

* fix: Logging errors encountered while scheduling a refresh

* fix: Renamed some variables for clarity

* fix(rtdb): Fixing the RTDB token listener callback (#1203)

* Add emulator-based integration tests. (#1155)

* Add emulator-based integration tests.

* Move emulator stuff out of package.json.

* Update CONTRIBUTING.md too.

* Add npx.

* Skip new unsupported tests.

* Inline commands in ci.yml.

* Disable one flaky tests in emulator. (#1205)

* [chore] Release 9.6.0 (#1209)

* (chore): Add JWT Decoder and Signature Verifier (#1204)

* (chore): Add JWT Decoder

* Add signature verifier and key fetcher abstractions

* Add unit tests for utils/jwt

* chore: Add Mailgun send email action (#1210)

* Add Mailgun send email github action
* Add send email action in nightly workflow

* chore: Fix bug in send-email action code (#1214)

* chore: Fix bug in send-email action code

* Add run id and trigger on repo dispatch event

* Change dispatch event name in nightly workflow (#1216)

- Change dispatch event name to `firebase_nightly_build`

* chore: Clean up nightly workflow trigger tests (#1212)

- Remove failing integration test added to trigger the send email workflow in nightly builds.

* Add support for FIREBASE_STORAGE_EMULATOR_HOST env var (#1175)

* Add support for FIREBASE_STORAGE_EMULATOR_HOST env var

* Fixes lint error

* Add test for FIREBASE_STORAGE_EMULATOR_HOST support

* Lint fix

* Minor fixes to storage tests

* Address review comments

* Address review suggestion

Co-authored-by: Samuel Bushi <ssbushi@google.com>

* Revert "Disable one flaky tests in emulator. (#1205)" (#1227)

This reverts commit 19660d9.

* fix(rtdb): Fixing a token refresh livelock in Cloud Functions (#1234)

* [chore] Release 9.7.0 (#1240)

* fix: adds missing EMAIL_NOT_FOUND error code (#1246)

Catch `EMAIL_NOT_FOUND` and translate to `auth/email-not-found` when `/accounts:sendOobCode` is called for password reset on a user that does not exist.
Fixes #1202

* build(deps-dev): bump lodash from 4.17.19 to 4.17.21 (#1255)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Upgraded RTDB and other @firebase dependencies (#1250)

* build(deps): bump y18n from 3.2.1 to 3.2.2 (#1208)

Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix storage emulator env formatting (#1257)

* Fix storage emulator env formatting

* Repair test

* Rename test

* Dang tests 2 good 4 me

* Fix test

* Fix tests again

* build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (#1260)

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](npm/hosted-git-info@v2.8.8...v2.8.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* feat: Add abuse reduction support (#1264)

- Add abuse reduction support APIs

* Fix @types/node conflict with grpc and port type (#1258)

Upgraded the @types/node dependency to v12.12.47

* [chore] Release 9.8.0 (#1266)

* build(deps): bump handlebars from 4.7.6 to 4.7.7 (#1253)

Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.6 to 4.7.7.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/master/release-notes.md)
- [Commits](handlebars-lang/handlebars.js@v4.7.6...v4.7.7)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jose from 2.0.4 to 2.0.5 (#1265)

Bumps [jose](https://github.com/panva/jose) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/panva/jose/releases)
- [Changelog](https://github.com/panva/jose/blob/v2.0.5/CHANGELOG.md)
- [Commits](panva/jose@v2.0.4...v2.0.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Revert regression introduced in #1257 (#1277)

* fix(auth): make MFA uid optional for updateUser operations (#1278)

* fix(auth): make MFA uid optional for updateUser operations

MFA `uid` should be optional for `updateUser` operations.
When not specified, the backend will provision a `uid` for the
enrolled second factor.

Fixes #1276

* chore: Enabled dependabot (#1279)

* chore: Remove gulp-replace dependency (#1285)

* build(deps-dev): bump gulp-header from 1.8.12 to 2.0.9 (#1283)

Bumps [gulp-header](https://github.com/tracker1/gulp-header) from 1.8.12 to 2.0.9.
- [Release notes](https://github.com/tracker1/gulp-header/releases)
- [Changelog](https://github.com/gulp-community/gulp-header/blob/master/changelog.md)
- [Commits](gulp-community/gulp-header@v1.8.12...v2.0.9)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump run-sequence from 1.2.2 to 2.2.1 (#1282)

Bumps [run-sequence](https://github.com/OverZealous/run-sequence) from 1.2.2 to 2.2.1.
- [Release notes](https://github.com/OverZealous/run-sequence/releases)
- [Changelog](https://github.com/OverZealous/run-sequence/blob/master/CHANGELOG.md)
- [Commits](OverZealous/run-sequence@v1.2.2...v2.2.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump sinon from 9.0.2 to 9.2.4 (#1289)

Bumps [sinon](https://github.com/sinonjs/sinon) from 9.0.2 to 9.2.4.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](sinonjs/sinon@v9.0.2...v9.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump nyc from 14.1.1 to 15.1.0 (#1290)

Bumps [nyc](https://github.com/istanbuljs/nyc) from 14.1.1 to 15.1.0.
- [Release notes](https://github.com/istanbuljs/nyc/releases)
- [Changelog](https://github.com/istanbuljs/nyc/blob/master/CHANGELOG.md)
- [Commits](istanbuljs/nyc@v14.1.1...v15.1.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump chalk from 1.1.3 to 4.1.1 (#1288)

Bumps [chalk](https://github.com/chalk/chalk) from 1.1.3 to 4.1.1.
- [Release notes](https://github.com/chalk/chalk/releases)
- [Commits](chalk/chalk@v1.1.3...v4.1.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @microsoft/api-extractor from 7.11.2 to 7.15.2 (#1291)

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.11.2 to 7.15.2.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.11.2...@microsoft/api-extractor_v7.15.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Teporarily disabling sendToDeviceGroup integration test (#1292)

* feat(auth): Added code flow support for OIDC flow. (#1220)

* OIDC codeflow support

* improve configs to simulate the real cases

* update for changes in signiture

* resolve comments

* improve validator logic

* remove unnecessary logic

* add tests and fix errors

* add auth-api-request rests

* Update supported Node version to 10.13.0v (#1300)

* Fixed integration test failure of skipped tests (#1299)

* Fix integration test failure of skipped testss

* Trigger integration tests

* [chore] Release 9.9.0 (#1302)

* Update OIDC reference docs (#1305)

* Add OAuthResponseType to ToC (#1303)

* fix(auth): Better type hierarchies for Auth API (#1294)

* fix(auth): Better type heirarchies for Auth API

* fix: Moved factorId back to the base types

* fix: Updated API report

* fix: Fixed a grammar error in comment

* fix: Update to comment text

* build(deps-dev): bump nock from 13.0.5 to 13.0.11 (#1311)

Bumps [nock](https://github.com/nock/nock) from 13.0.5 to 13.0.11.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.0.5...v13.0.11)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump ws from 7.3.1 to 7.4.6 (#1309)

Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](websockets/ws@7.3.1...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump del from 2.2.2 to 6.0.0 (#1310)

Bumps [del](https://github.com/sindresorhus/del) from 2.2.2 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/del/releases)
- [Commits](sindresorhus/del@v2.2.2...v6.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/jsonwebtoken from 8.5.0 to 8.5.1 (#1315)

Bumps [@types/jsonwebtoken](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsonwebtoken) from 8.5.0 to 8.5.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsonwebtoken)

---
updated-dependencies:
- dependency-name: "@types/jsonwebtoken"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump nock from 13.0.11 to 13.1.0 (#1313)

Bumps [nock](https://github.com/nock/nock) from 13.0.11 to 13.1.0.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.0.11...v13.1.0)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/sinon-chai from 3.2.4 to 3.2.5 (#1316)

Bumps [@types/sinon-chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon-chai) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon-chai)

---
updated-dependencies:
- dependency-name: "@types/sinon-chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump bcrypt from 5.0.0 to 5.0.1 (#1324)

Bumps [bcrypt](https://github.com/kelektiv/node.bcrypt.js) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/kelektiv/node.bcrypt.js/releases)
- [Changelog](https://github.com/kelektiv/node.bcrypt.js/blob/master/CHANGELOG.md)
- [Commits](kelektiv/node.bcrypt.js@v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: bcrypt
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @google-cloud/firestore from 4.5.0 to 4.12.2 (#1325)

Bumps [@google-cloud/firestore](https://github.com/googleapis/nodejs-firestore) from 4.5.0 to 4.12.2.
- [Release notes](https://github.com/googleapis/nodejs-firestore/releases)
- [Changelog](https://github.com/googleapis/nodejs-firestore/blob/master/CHANGELOG.md)
- [Commits](googleapis/nodejs-firestore@v4.5.0...v4.12.2)

---
updated-dependencies:
- dependency-name: "@google-cloud/firestore"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/mocha from 2.2.48 to 8.2.2 (#1323)

Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 2.2.48 to 8.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @firebase/app from 0.6.21 to 0.6.26 (#1329)

Bumps [@firebase/app](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/app) from 0.6.21 to 0.6.26.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/@firebase/app@0.6.26/packages/app/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/app@0.6.26/packages/app)

---
updated-dependencies:
- dependency-name: "@firebase/app"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.0 to 0.10.4 (#1328)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.0 to 0.10.4.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.4/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump request-promise from 4.2.5 to 4.2.6 (#1331)

Bumps [request-promise](https://github.com/request/request-promise) from 4.2.5 to 4.2.6.
- [Release notes](https://github.com/request/request-promise/releases)
- [Commits](request/request-promise@v4.2.5...v4.2.6)

---
updated-dependencies:
- dependency-name: request-promise
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump gulp-filter from 6.0.0 to 7.0.0 (#1334)

Bumps [gulp-filter](https://github.com/sindresorhus/gulp-filter) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/sindresorhus/gulp-filter/releases)
- [Commits](sindresorhus/gulp-filter@v6.0.0...v7.0.0)

---
updated-dependencies:
- dependency-name: gulp-filter
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/minimist from 1.2.0 to 1.2.1 (#1336)

Bumps [@types/minimist](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimist) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimist)

---
updated-dependencies:
- dependency-name: "@types/minimist"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(docs): replace all global.html -> admin.html (#1341)

Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* feat(fis): Adding the admin.installations() API for deleting Firebase installation IDs (#1187)

* feat(fis): Added admin.installations() API

* fix: Marked IID APIs deprecated

* fix: Deprecated App.instanceId() method; Added more unit and integration tests

* fix: Throwing FirebaseInstallationsError from constructor

* fix: Some docs updates

* fix: Minor update to API doc comment

* fix: Added Installations class to API ref toc

* fix: Minor doc updates

* fix: Updated TOC for new Auth type aliases (#1342)

* [chore] Release 9.10.0 (#1345)

* build(deps-dev): bump @types/request-promise from 4.1.46 to 4.1.47 (#1338)

Bumps [@types/request-promise](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/request-promise) from 4.1.46 to 4.1.47.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/request-promise)

---
updated-dependencies:
- dependency-name: "@types/request-promise"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.4 to 0.10.5 (#1350)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.4 to 0.10.5.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.5/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/nock from 9.3.1 to 11.1.0 (#1351)

Bumps [@types/nock](https://github.com/nock/nock) from 9.3.1 to 11.1.0.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v9.3.1...v11.1.0)

---
updated-dependencies:
- dependency-name: "@types/nock"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/sinon from 9.0.4 to 10.0.2 (#1326)

Bumps [@types/sinon](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sinon) from 9.0.4 to 10.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sinon)

---
updated-dependencies:
- dependency-name: "@types/sinon"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.5 to 0.10.6 (#1356)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.5 to 0.10.6.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.6/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jwks-rsa from 2.0.2 to 2.0.3 (#1361)

Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jwks-rsa@v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: jwks-rsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump yargs from 16.1.0 to 17.0.1 (#1357)

Bumps [yargs](https://github.com/yargs/yargs) from 16.1.0 to 17.0.1.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](yargs/yargs@v16.1.0...v17.0.1)

---
updated-dependencies:
- dependency-name: yargs
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/chai from 4.2.11 to 4.2.21 (#1365)

Bumps [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) from 4.2.11 to 4.2.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

---
updated-dependencies:
- dependency-name: "@types/chai"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update index.ts (#1367)

Fix typo in comments: `sendMulticase` -> `sendMulticast`

* build(deps): bump @google-cloud/firestore from 4.12.2 to 4.13.1 (#1369)

Bumps [@google-cloud/firestore](https://github.com/googleapis/nodejs-firestore) from 4.12.2 to 4.13.1.
- [Release notes](https://github.com/googleapis/nodejs-firestore/releases)
- [Changelog](https://github.com/googleapis/nodejs-firestore/blob/master/CHANGELOG.md)
- [Commits](googleapis/nodejs-firestore@v4.12.2...v4.13.1)

---
updated-dependencies:
- dependency-name: "@google-cloud/firestore"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(fac): Add custom TTL options for App Check (#1363)

* Add custom ttl options for App Check

* PR fixes

* Add integration tests

* PR fixes

* Reduce App Check custom token exp to 5 mins (#1372)

* Add AppCheckTokenOptions type to ToC (#1375)

Add `AppCheckTokenOptions` to `ToC`

* Fix typo and formatting in docs (#1378)

- Fix typo and add back-ticks

* [chore] Release 9.11.0 (#1376)

- Release 9.11.0

* build(deps-dev): bump nock from 13.1.0 to 13.1.1 (#1370)

Bumps [nock](https://github.com/nock/nock) from 13.1.0 to 13.1.1.
- [Release notes](https://github.com/nock/nock/releases)
- [Changelog](https://github.com/nock/nock/blob/main/CHANGELOG.md)
- [Commits](nock/nock@v13.1.0...v13.1.1)

---
updated-dependencies:
- dependency-name: nock
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/bcrypt from 2.0.0 to 5.0.0 (#1384)

Bumps [@types/bcrypt](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bcrypt) from 2.0.0 to 5.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/bcrypt)

---
updated-dependencies:
- dependency-name: "@types/bcrypt"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump @firebase/database from 0.10.6 to 0.10.7 (#1385)

Bumps [@firebase/database](https://github.com/firebase/firebase-js-sdk/tree/HEAD/packages/database) from 0.10.6 to 0.10.7.
- [Release notes](https://github.com/firebase/firebase-js-sdk/releases)
- [Changelog](https://github.com/firebase/firebase-js-sdk/blob/master/packages/database/CHANGELOG.md)
- [Commits](https://github.com/firebase/firebase-js-sdk/commits/@firebase/database@0.10.7/packages/database)

---
updated-dependencies:
- dependency-name: "@firebase/database"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/lodash from 4.14.157 to 4.14.171 (#1386)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.157 to 4.14.171.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/request from 2.48.5 to 2.48.6 (#1387)

Bumps [@types/request](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/request) from 2.48.5 to 2.48.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/request)

---
updated-dependencies:
- dependency-name: "@types/request"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @types/minimist from 1.2.1 to 1.2.2 (#1388)

Bumps [@types/minimist](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/minimist) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/minimist)

---
updated-dependencies:
- dependency-name: "@types/minimist"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump jwks-rsa from 2.0.3 to 2.0.4 (#1393)

Bumps [jwks-rsa](https://github.com/auth0/node-jwks-rsa) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/auth0/node-jwks-rsa/releases)
- [Changelog](https://github.com/auth0/node-jwks-rsa/blob/master/CHANGELOG.md)
- [Commits](auth0/node-jwks-rsa@v2.0.3...2.0.4)

---
updated-dependencies:
- dependency-name: jwks-rsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump @microsoft/api-extractor from 7.15.2 to 7.18.4 (#1379)

* build(deps-dev): bump @microsoft/api-extractor from 7.15.2 to 7.18.4

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.15.2 to 7.18.4.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.15.2...@microsoft/api-extractor_v7.18.4)

---
updated-dependencies:
- dependency-name: "@microsoft/api-extractor"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: Updated API report with the new API Extractor version

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Hiranya Jayathilaka <hiranya911@gmail.com>

* build(deps): bump tar from 6.1.0 to 6.1.3 (#1399)

Bumps [tar](https://github.com/npm/node-tar) from 6.1.0 to 6.1.3.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v6.1.0...v6.1.3)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump ts-node from 9.0.0 to 10.2.0 (#1402)

Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 9.0.0 to 10.2.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](TypeStrong/ts-node@v9.0.0...v10.2.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Add emulator tests to nightlies (#1409)

* Add emulator tests to nightlies

- Run emulator based integration tests as part of the nightly tests.

* Trigger CI

* fix: Throw error on user disabled and check revoked set true (#1401)

* fix: Throw error on user disabled and check revoked set true

* resolve 2 calls on getUser(), improve tests and lints

* remove currentUser.reload

* add return

* Tweak tests

* small fix

* Use async and await instead of chain in integration test and change CI dependency

* retry

* Add special case of authEmulator

* fix emulator on issue

* remove firebase-tool version changes

* useMockIdToken for unit test

* fix typos

* build(deps-dev): bump yargs from 17.0.1 to 17.1.1 (#1412)

Bumps [yargs](https://github.com/yargs/yargs) from 17.0.1 to 17.1.1.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](yargs/yargs@v17.0.1...v17.1.1)

---
updated-dependencies:
- dependency-name: yargs
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump path-parse from 1.0.6 to 1.0.7 (#1413)

Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Update comments in index files (#1414)

* add comments in index files

* change signature in firebase-admin-node

* small fixes

* small fixes

* fixes

* [chore] Release 9.11.1 (#1415)

* fix typo (#1420)

* build(deps-dev): bump @microsoft/api-extractor from 7.18.4 to 7.18.7 (#1423)

Bumps [@microsoft/api-extractor](https://github.com/microsoft/rushstack) from 7.18.4 to 7.18.7.
- [Release notes](https://github.com/microsoft/rushstack/releases)
- [Commits](https://github.com/microsoft/rushstack/compare/@microsoft/api-extractor_v7.18.4...@microsoft/api-extractor_v7.18.7)

---
updated-dependencies:
- dependency-name: "@microsoft/api-extractor"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(rc): Add Remote Config Parameter Value Type Support (#1424)

go/admin-sdk-rc-parameter-value-types

Add RC Parameter Value Type.
Update unit tests.
- Integration tests will be added following the REST API launch.
Added release:stage to trigger existing integration tests (to test backward compatibility).
- Do not merge until the BE is updated.
Update:
- Integration tests are updated.

RELEASE NOTE: Added Remote Config Parameter Value Type Support.

* build(deps-dev): bump @types/lodash from 4.14.171 to 4.14.173 (#1435)

Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.171 to 4.14.173.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump tar from 6.1.3 to 6.1.11 (#1430)

Bumps [tar](https://github.com/npm/node-tar) from 6.1.3 to 6.1.11.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-tar@v6.1.3...v6.1.11)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Pin @types/jsonwebtoken to 8.5.1 (#1438)

* fix(rtdb): Changed admin.database to use database-compat package (#1437)

* fix: Changed admin.database to use database-compat package

* fix: Upgraded to latest staged versions of compat packages

* fix: Added dom for test compilation which includes Auth types

* fix: Using single quotes as per our convention

* fix: Using the new database-compat/standalone entrypoint

* fix: Changed versions to released tags

* fix(fac): Verify Token: Change the jwks cache duration from 1 day to 6 hours (#1439)

Change the jwks cache duration (used by the verify token API) from 1 day to 6 hours.

* [chore] Release 9.12.0 (#1442)

* fix: Merged missing commits from #1401

* fix: Updated integration tests

* fix: Temporary with for RTDB type incompatibility issue

* fix: Cleaned up faulty API doc annotations

Co-authored-by: Lahiru Maramba <llahiru@gmail.com>
Co-authored-by: egilmorez <egilmore@google.com>
Co-authored-by: batuxd <9674241+suchcodemuchwow@users.noreply.github.com>
Co-authored-by: Yuchen Shi <yuchenshi@google.com>
Co-authored-by: Marc Bornträger <marc.borntraeger@gmail.com>
Co-authored-by: rsgowman <rgowman@google.com>
Co-authored-by: Abe Haskins <abeisgreat@abeisgreat.com>
Co-authored-by: Samuel Bushi <ssbushi@google.com>
Co-authored-by: bojeil-google <bojeil-google@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikhil Agarwal <54072321+nikhilag@users.noreply.github.com>
Co-authored-by: Xin Li <xinxinxin@google.com>
Co-authored-by: NothingEverHappens <kirjs@google.com>
Co-authored-by: Daniel Hritzkiv <daniel.hritzkiv@gmail.com>
Co-authored-by: Arthur Gubaidullin <lapteuh@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants