Пример #1
0
        public async void RefreshTokenBecomesStale(string user)
        {
            var service = new JwtService(
                _refreshTokenRepository,
                _testSecret1,
                -1,
                _testSecret2,
                100);

            var refreshTokenString1 = await service.GenerateRefreshToken(user);

            var refreshTokenString2 = await service.GenerateRefreshToken(user);

            var token1 = await service.VerifyRefreshToken(refreshTokenString1);

            Assert.Null(token1);

            var token2 = await service.VerifyRefreshToken(refreshTokenString2);

            Assert.NotNull(token2);
            Assert.Equal(user, token2.Subject);
            Assert.NotNull(token2.Claims.Where(c => c.Type == "refresh_key").Select(c => c.Value).SingleOrDefault());
            Assert.NotEmpty(token2.Claims.Where(c => c.Type == "refresh_key").Select(c => c.Value).SingleOrDefault() ??
                            throw new Exception("Sanity check"));
        }
Пример #2
0
        public async void GeneratedRefreshTokenValidatesAgainstItself(int refreshTimeout, string user)
        {
            var service = new JwtService(
                _refreshTokenRepository,
                _testSecret1,
                -1,
                _testSecret2,
                refreshTimeout);
            var refreshTokenString = await service.GenerateRefreshToken(user);

            var token = await service.VerifyRefreshToken(refreshTokenString);

            Assert.NotNull(token);
            Assert.Equal(user, token.Subject);
            Assert.NotNull(token.Claims.Where(c => c.Type == "refresh_key").Select(c => c.Value).SingleOrDefault());
            Assert.NotEmpty(token.Claims.Where(c => c.Type == "refresh_key").Select(c => c.Value).SingleOrDefault() ??
                            throw new Exception("Sanity check"));
        }