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