Ejemplo n.º 1
0
        public async Task UpdateUserHttpError()
        {
            var handler = new MockMessageHandler()
            {
                StatusCode = HttpStatusCode.InternalServerError,
            };
            var factory     = new MockHttpClientFactory(handler);
            var userManager = new FirebaseUserManager(
                new FirebaseUserManagerArgs
            {
                Credential    = MockCredential,
                ProjectId     = MockProjectId,
                ClientFactory = factory,
            });
            var customClaims = new Dictionary <string, object>()
            {
                { "admin", true },
            };

            await Assert.ThrowsAsync <FirebaseException>(
                async() => await userManager.UpdateUserAsync(new UserRecord("user1")
            {
                CustomClaims = customClaims
            }));
        }
Ejemplo n.º 2
0
        public async Task GetUserById()
        {
            var handler = new MockMessageHandler()
            {
                Response = new GetAccountInfoResponse()
                {
                    Kind  = "identitytoolkit#GetAccountInfoResponse",
                    Users = new List <GetAccountInfoResponse.User>()
                    {
                        new GetAccountInfoResponse.User()
                        {
                            UserId = "user1"
                        },
                    },
                },
            };

            var factory     = new MockHttpClientFactory(handler);
            var userManager = new FirebaseUserManager(
                new FirebaseUserManagerArgs
            {
                Credential    = MockCredential,
                ProjectId     = MockProjectId,
                ClientFactory = factory,
            });
            var userRecord = await userManager.GetUserById("user1");

            Assert.Equal("user1", userRecord.Uid);
        }
Ejemplo n.º 3
0
        public async Task UpdateUser()
        {
            var handler = new MockMessageHandler()
            {
                Response = new GetAccountInfoResponse()
                {
                    Kind  = "identitytoolkit#GetAccountInfoResponse",
                    Users = new List <GetAccountInfoResponse.User>()
                    {
                        new GetAccountInfoResponse.User()
                        {
                            UserId = "user1"
                        },
                    },
                },
            };
            var factory     = new MockHttpClientFactory(handler);
            var userManager = new FirebaseUserManager(
                new FirebaseUserManagerArgs
            {
                Credential    = MockCredential,
                ProjectId     = MockProjectId,
                ClientFactory = factory,
            });
            var customClaims = new Dictionary <string, object>()
            {
                { "admin", true },
            };

            await userManager.UpdateUserAsync(new UserRecord("user1") { CustomClaims = customClaims });
        }
Ejemplo n.º 4
0
        public async Task UpdateUserIncorrectResponseUid()
        {
            var handler = new MockMessageHandler()
            {
                Response = new UserRecord("testuser"),
            };
            var factory     = new MockHttpClientFactory(handler);
            var userManager = new FirebaseUserManager(
                new FirebaseUserManagerArgs
            {
                Credential    = MockCredential,
                ProjectId     = MockProjectId,
                ClientFactory = factory,
            });
            var customClaims = new Dictionary <string, object>()
            {
                { "admin", true },
            };

            await Assert.ThrowsAsync <FirebaseException>(
                async() => await userManager.UpdateUserAsync(new UserRecord("user1")
            {
                CustomClaims = customClaims
            }));
        }
Ejemplo n.º 5
0
        private FirebaseAuth CreateFirebaseAuth(HttpMessageHandler handler = null)
        {
            var args          = FirebaseTokenVerifierArgs.ForIdTokens("test-project", KeySource, Clock);
            var tokenVerifier = new FirebaseTokenVerifier(args);

            FirebaseUserManager userManager = null;

            if (handler != null)
            {
                userManager = new FirebaseUserManager(new FirebaseUserManager.Args
                {
                    Credential    = MockCredential,
                    ProjectId     = "test-project",
                    ClientFactory = new MockHttpClientFactory(handler),
                    RetryOptions  = RetryOptions.NoBackOff,
                });
            }

            return(new FirebaseAuth(new FirebaseAuth.FirebaseAuthArgs()
            {
                IdTokenVerifier = new Lazy <FirebaseTokenVerifier>(tokenVerifier),
                SessionCookieVerifier = new Lazy <FirebaseTokenVerifier>(),
                UserManager = new Lazy <FirebaseUserManager>(userManager),
                TokenFactory = new Lazy <FirebaseTokenFactory>(),
            }));
        }
        private FirebaseAuth CreateFirebaseAuth(HttpMessageHandler handler = null)
        {
            var args = FirebaseTokenVerifierArgs.ForSessionCookies(
                "test-project", KeySource, Clock);
            var tokenVerifier = new FirebaseTokenVerifier(args);

            FirebaseUserManager userManager = null;

            if (handler != null)
            {
                userManager = new FirebaseUserManager(new FirebaseUserManager.Args
                {
                    Credential    = GoogleCredential.FromAccessToken("test-token"),
                    ProjectId     = "test-project",
                    ClientFactory = new MockHttpClientFactory(handler),
                    RetryOptions  = RetryOptions.NoBackOff,
                });
            }

            var authArgs = FirebaseAuth.Args.CreateDefault();

            authArgs.SessionCookieVerifier = new Lazy <FirebaseTokenVerifier>(tokenVerifier);
            authArgs.UserManager           = new Lazy <FirebaseUserManager>(userManager);
            return(new FirebaseAuth(authArgs));
        }
        private FirebaseAuth CreateFirebaseAuth(HttpMessageHandler handler)
        {
            var userManager = new FirebaseUserManager(new FirebaseUserManager.Args
            {
                Credential    = GoogleCredential.FromAccessToken("test-token"),
                ProjectId     = "project1",
                ClientFactory = new MockHttpClientFactory(handler),
                RetryOptions  = RetryOptions.NoBackOff,
            });
            var args = FirebaseAuth.Args.CreateDefault();

            args.UserManager = new Lazy <FirebaseUserManager>(userManager);
            return(new FirebaseAuth(args));
        }
        private FirebaseAuth CreateFirebaseAuth(HttpMessageHandler handler)
        {
            var userManager = new FirebaseUserManager(new FirebaseUserManager.Args
            {
                Credential    = GoogleCredential.FromAccessToken("test-token"),
                ProjectId     = "project1",
                ClientFactory = new MockHttpClientFactory(handler),
                RetryOptions  = RetryOptions.NoBackOff,
            });

            return(new FirebaseAuth(new FirebaseAuth.FirebaseAuthArgs()
            {
                UserManager = new Lazy <FirebaseUserManager>(userManager),
                TokenFactory = new Lazy <FirebaseTokenFactory>(),
                IdTokenVerifier = new Lazy <FirebaseTokenVerifier>(),
            }));
        }
Ejemplo n.º 9
0
 public async Task DeleteUserNotFound()
 {
     var handler = new MockMessageHandler()
     {
         StatusCode = HttpStatusCode.NotFound,
     };
     var factory     = new MockHttpClientFactory(handler);
     var userManager = new FirebaseUserManager(
         new FirebaseUserManagerArgs
     {
         Credential    = MockCredential,
         ProjectId     = MockProjectId,
         ClientFactory = factory,
     });
     await Assert.ThrowsAsync <FirebaseException>(
         async() => await userManager.DeleteUser("user1"));
 }
        internal static TenantAwareFirebaseAuth Create(FirebaseApp app, string tenantId)
        {
            var args = new Args
            {
                TenantId     = tenantId,
                TokenFactory = new Lazy <FirebaseTokenFactory>(
                    () => FirebaseTokenFactory.Create(app, tenantId), true),
                IdTokenVerifier = new Lazy <FirebaseTokenVerifier>(
                    () => FirebaseTokenVerifier.CreateIdTokenVerifier(app, tenantId), true),
                UserManager = new Lazy <FirebaseUserManager>(
                    () => FirebaseUserManager.Create(app, tenantId), true),
                ProviderConfigManager = new Lazy <ProviderConfigManager>(
                    () => Providers.ProviderConfigManager.Create(app, tenantId), true),
            };

            return(new TenantAwareFirebaseAuth(args));
        }
Ejemplo n.º 11
0
        public async Task GetUserById()
        {
            var handler = new MockMessageHandler()
            {
                Response = new UserRecord("user1"),
            };
            var factory     = new MockHttpClientFactory(handler);
            var userManager = new FirebaseUserManager(
                new FirebaseUserManagerArgs
            {
                Credential    = MockCredential,
                ProjectId     = MockProjectId,
                ClientFactory = factory,
            });
            var userRecord = await userManager.GetUserById("user1");

            Assert.Equal("user1", userRecord.Uid);
        }
Ejemplo n.º 12
0
 public async Task DeleteUser()
 {
     var handler = new MockMessageHandler()
     {
         Response = new Dictionary <string, string>()
         {
             { "kind", "identitytoolkit#DeleteAccountResponse" },
         },
     };
     var factory     = new MockHttpClientFactory(handler);
     var userManager = new FirebaseUserManager(
         new FirebaseUserManagerArgs
     {
         Credential    = MockCredential,
         ProjectId     = MockProjectId,
         ClientFactory = factory,
     });
     await userManager.DeleteUser("user1");
 }
        public async Task UpdateUser()
        {
            var handler = new MockMessageHandler()
            {
                Response = new UserRecord("user1")
            };
            var factory     = new MockHttpClientFactory(handler);
            var userManager = new FirebaseUserManager(
                new FirebaseUserManagerArgs
            {
                Credential    = mockCredential,
                ProjectId     = mockProjectId,
                ClientFactory = factory
            });
            var customClaims = new Dictionary <string, object>()
            {
                { "admin", true },
            };

            await userManager.UpdateUserAsync(new UserRecord("user1") { CustomClaims = customClaims });
        }