Exemple #1
0
        public async Task InvalidUid()
        {
            var factory = new FirebaseTokenFactory(new MockSigner(), new MockClock());
            await Assert.ThrowsAsync <ArgumentException>(
                async() => await factory.CreateCustomTokenAsync(null));

            await Assert.ThrowsAsync <ArgumentException>(
                async() => await factory.CreateCustomTokenAsync(string.Empty));

            await Assert.ThrowsAsync <ArgumentException>(
                async() => await factory.CreateCustomTokenAsync(new string('a', 129)));
        }
Exemple #2
0
        public async Task CreateCustomToken()
        {
            var clock   = new MockClock();
            var factory = new FirebaseTokenFactory(new MockSigner(), clock);
            var token   = await factory.CreateCustomTokenAsync("user1");

            VerifyCustomToken(token, "user1", null);
        }
        public async Task CreateCustomToken(string tenantId)
        {
            var factory = new FirebaseTokenFactory(Signer, Clock, tenantId);

            var token = await factory.CreateCustomTokenAsync("user1");

            MockCustomTokenVerifier.WithTenant(tenantId).Verify(token, "user1");
        }
Exemple #4
0
        public async Task CreateCustomTokenWithEmptyClaims()
        {
            var clock   = new MockClock();
            var factory = new FirebaseTokenFactory(new MockSigner(), clock);
            var token   = await factory.CreateCustomTokenAsync(
                "user1", new Dictionary <string, object>());

            VerifyCustomToken(token, "user1", null);
        }
        public async Task CreateCustomTokenWithEmptyClaims(string tenantId)
        {
            var factory = new FirebaseTokenFactory(Signer, Clock, tenantId);

            var token = await factory.CreateCustomTokenAsync(
                "user1", new Dictionary <string, object>());

            MockCustomTokenVerifier.WithTenant(tenantId).Verify(token, "user1");
        }
Exemple #6
0
        public async Task ReservedClaims()
        {
            var factory = new FirebaseTokenFactory(new MockSigner(), new MockClock());

            foreach (var key in FirebaseTokenFactory.ReservedClaims)
            {
                var developerClaims = new Dictionary <string, object>()
                {
                    { key, "value" },
                };
                await Assert.ThrowsAsync <ArgumentException>(
                    async() => await factory.CreateCustomTokenAsync("user", developerClaims));
            }
        }
Exemple #7
0
        public async Task CreateCustomTokenWithClaims()
        {
            var clock           = new MockClock();
            var factory         = new FirebaseTokenFactory(new MockSigner(), clock);
            var developerClaims = new Dictionary <string, object>()
            {
                { "admin", true },
                { "package", "gold" },
                { "magicNumber", 42L },
            };
            var token = await factory.CreateCustomTokenAsync("user2", developerClaims);

            VerifyCustomToken(token, "user2", developerClaims);
        }
        public async Task CreateCustomTokenWithClaims(string tenantId)
        {
            var factory         = new FirebaseTokenFactory(Signer, Clock, tenantId);
            var developerClaims = new Dictionary <string, object>()
            {
                { "admin", true },
                { "package", "gold" },
                { "magicNumber", 42L },
            };

            var token = await factory.CreateCustomTokenAsync("user2", developerClaims);

            MockCustomTokenVerifier.WithTenant(tenantId).Verify(token, "user2", developerClaims);
        }