Exemple #1
0
        public async Task ValidToken()
        {
            var payload = new Dictionary <string, object>()
            {
                { "foo", "bar" },
            };
            var idToken = await CreateTestTokenAsync(payloadOverrides : payload);

            var decoded = await TokenVerifier.VerifyTokenAsync(idToken);

            Assert.Equal("testuser", decoded.Uid);
            Assert.Equal("test-project", decoded.Audience);
            Assert.Equal("testuser", decoded.Subject);
            // The default test token created by CreateTestTokenAsync has an issue time 10 minutes
            // ago, and an expiry time 50 minutes in the future.
            Assert.Equal(Clock.UnixTimestamp() - 60 * 10, decoded.IssuedAtTimeSeconds);
            Assert.Equal(Clock.UnixTimestamp() + 60 * 50, decoded.ExpirationTimeSeconds);
            Assert.Single(decoded.Claims);
            object value;

            Assert.True(decoded.Claims.TryGetValue("foo", out value));
            Assert.Equal("bar", value);
        }