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,
                });
            }

            return(new FirebaseAuth(new FirebaseAuth.FirebaseAuthArgs()
            {
                SessionCookieVerifier = new Lazy <FirebaseTokenVerifier>(tokenVerifier),
                UserManager = new Lazy <FirebaseUserManager>(userManager),
                IdTokenVerifier = new Lazy <FirebaseTokenVerifier>(),
                TokenFactory = new Lazy <FirebaseTokenFactory>(),
            }));
        }
Exemple #2
0
        public void NoProjectId()
        {
            var app = FirebaseApp.Create(new AppOptions()
            {
                Credential = MockCredential,
            });

            Assert.Throws <ArgumentException>(() => FirebaseTokenVerifier.CreateIDTokenVerifier(app));
        }
        public void ProjectId()
        {
            var args = FullyPopulatedArgs();

            var verifier = new FirebaseTokenVerifier(args);

            Assert.Equal("test-project", verifier.ProjectId);
            Assert.Null(verifier.TenantId);
        }
Exemple #4
0
        public void ProjectIdFromServiceAccount()
        {
            var app = FirebaseApp.Create(new AppOptions()
            {
                Credential = GoogleCredential.FromFile("./resources/service_account.json"),
            });
            var verifier = FirebaseTokenVerifier.CreateIDTokenVerifier(app);

            Assert.Equal("test-project", verifier.ProjectId);
        }
Exemple #5
0
        public void ProjectIdFromOptions()
        {
            var app = FirebaseApp.Create(new AppOptions()
            {
                Credential = mockCredential,
                ProjectId  = "explicit-project-id",
            });
            var verifier = FirebaseTokenVerifier.CreateIDTokenVerifier(app);

            Assert.Equal("explicit-project-id", verifier.ProjectId);
        }
        private FirebaseTokenVerifier CreateIdTokenVerifier()
        {
            var args = FirebaseTokenVerifier.CreateIdTokenVerifierArgs();

            args.ProjectId       = this.ProjectId;
            args.PublicKeySource = this.KeySource;
            args.Clock           = this.Clock;
            args.TenantId        = this.TenantId;
            args.IsEmulatorMode  = !string.IsNullOrWhiteSpace(this.EmulatorHost);
            return(new FirebaseTokenVerifier(args));
        }
Exemple #7
0
 public void ProjectIdFromEnvironment()
 {
     Environment.SetEnvironmentVariable("GOOGLE_CLOUD_PROJECT", "env-project-id");
     try
     {
         var app = FirebaseApp.Create(new AppOptions()
         {
             Credential = mockCredential,
         });
         var verifier = FirebaseTokenVerifier.CreateIDTokenVerifier(app);
         Assert.Equal("env-project-id", verifier.ProjectId);
     }
     finally
     {
         Environment.SetEnvironmentVariable("GOOGLE_CLOUD_PROJECT", "");
     }
 }
        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));
        }
Exemple #9
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,
                });
            }

            var authArgs = FirebaseAuth.Args.CreateDefault();

            authArgs.IdTokenVerifier = new Lazy <FirebaseTokenVerifier>(tokenVerifier);
            authArgs.UserManager     = new Lazy <FirebaseUserManager>(userManager);
            return(new FirebaseAuth(authArgs));
        }
Exemple #10
0
 private FirebaseTokenVerifier CreateSessionCookieVerifier()
 {
     return(FirebaseTokenVerifier.CreateSessionCookieVerifier(
                this.ProjectId, this.KeySource, this.Clock));
 }
Exemple #11
0
 private FirebaseTokenVerifier CreateIdTokenVerifier()
 {
     return(FirebaseTokenVerifier.CreateIdTokenVerifier(
                this.ProjectId, this.KeySource, this.Clock, this.TenantId));
 }