Skip to content

Commit c3861d7

Browse files
authored
feat(auth): Added multi-tenancy support (#245)
* feat(auth): Added TenantManager, Tenant and GetTenantAsync APIs (#222) * feat(auth): Added CreateTenantAsync() and UpdateTenantAsync() APIs (#223) * chore: Introducing FirebaseAdmin.Auth.Jwt namespace for internal APIs (#226) * chore: Introducing FirebaseAdmin.Auth.Jwt namespace for internal APIs * chore: Moving IPublicKeySource and related classes to Jwt * feat(auth): Added ListTenantsAsync() and DeleteTenantAsync() APIs (#225) * feat(auth): Added ListTenantsAsync() and DeleteTenantAsync() APIs * fix: Added newline at eof * feat(auth): Added TenantAwareFirebaseAuth class (#227) * feat(auth): Added support for creating tenant-scoped custom tokens (#228) * feat(auth): Added support for creating tenant-scoped custom tokens * fix: Cleaned up the test code * feat(auth): Support for tenant-aware user management (#229) * feat(auth): Support for tenant-aware user management * fix: Cleaned up the unit tests * fix: Removed duplicated line * feat(auth): Adding tenant-aware token verification support (#230) * feat(auth): Adding tenant-aware token verification support * feat(auth): Moved ID token verify methods to AbstractFirebaseAuth * fix: Cleaned up the unit tests TestConfig API * chore: FirebaseAuth unit test refactor (#231) * chore: Refactoring the test abstraction for Auth * fix: Further cleaned up the AuthTestConfig API * fix: Refactored auth tests with composition of AuthBuilder and MockTokenBuilder * fix: Added some comments; Other readability improvements * fix: Removing redundant else block * feat(auth): Support for verifying tenant-scoped session cookies (#232) * feat(auth): Implemented support for verifying tenant-scoped session cookies * fix: Removing unused test util method * feat(auth): Support for creating tenant-scoped session cookies (#233) * feat(auth): Support for creating tenant-scoped session cookies * fix: Using inheritdoc on the overridden method * feat(auth): Tenant-aware provider config management (#234) * chore: Added FirebaseAdmin.Auth.Users namespace (#235) * chore: More unit tests (#236) * chore: Increased unit test coverage for Auth APIs * chore: More unit tests * fix(auth): Removing tenant-aware session cookie APIs (#237) * chore: Adding integration tests for multi-tenancy support (#238) * chore: Added integration tests for multi-tenancy APIs * fix: Refactored TenantFixture to handle init all test resources * chore: Cleaning up Auth integration tests (#239) * chore: Cleaning up Auth integration tests * fix: Added newline at the eof * chore: Added tenant-aware integ tests for IdP config management (#240) * chore: Added tenant-aware integ tests for IdP config management * chore: Cleaned up the test fixtures * chore: Split long user lifecycle test into multiple test cases (#241) * fix(auth): Reusing ListResourcesRequest util in all pagination APIs (#242) * fix(auth): Reusing ListResourcesRequest for ListUsers API * fix(auth): Using ListResourcesRequest in other list APIs * fix: Enabling AsyncUsageAnalyzers and fixing violations (#243) * fix: Enabling AsyncUsageAnalyzers and fixing violations * fix: Removed experimental changes * fix(auth): Support for verifying tenant ID tokens in FirebaseAuth (#244) * fix: Enabling AsyncUsageAnalyzers and fixing violations * fix: Removed experimental changes * fix(auth): Support for verifying tenant ID tokens in FirebaseAuth
1 parent 3b831b4 commit c3861d7

File tree

116 files changed

+8256
-4804
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+8256
-4804
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright 2020, Google Inc. All rights reserved.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
using FirebaseAdmin.Auth;
16+
17+
namespace FirebaseAdmin.IntegrationTests.Auth
18+
{
19+
/// <summary>
20+
/// A fixture API that facilitates running the same set of integration tests on different
21+
/// implementations of <c>AbstractFirebaseAuth</c>.
22+
/// </summary>
23+
public abstract class AbstractAuthFixture<T>
24+
where T : AbstractFirebaseAuth
25+
{
26+
public abstract T Auth { get; }
27+
28+
public abstract TemporaryUserBuilder UserBuilder { get; }
29+
30+
public abstract string TenantId { get; }
31+
32+
public abstract T AuthFromApp(FirebaseApp app);
33+
}
34+
}

0 commit comments

Comments
 (0)