Beispiel #1
0
        public void CreateToken_Should_ThrowException_OnEmptyClientKey()
        {
            // Arrange
            var sut = new AuthTokenService();

            // Act & Assert
            Assert.Throws <ArgumentException>(() => sut.CreateToken(Guid.NewGuid(), "", Guid.Empty));
        }
Beispiel #2
0
        public void CreateToken_Should_ReturnReadableJwt()
        {
            // Arrange
            var sut = new AuthTokenService();
            // Act
            var result = sut.CreateToken(Guid.NewGuid(), "Key", Guid.NewGuid());
            // Assert
            var handler = new JwtSecurityTokenHandler();

            Assert.True(handler.CanReadToken(result));
        }
Beispiel #3
0
        public void CreateToken_Should_ReturnNotExpiredToken()
        {
            // Arrange
            var sut = new AuthTokenService();
            // Act
            var result = sut.CreateToken(Guid.NewGuid(), "NMJ", Guid.NewGuid());
            // Assert
            var handler = new JwtSecurityTokenHandler();
            var token   = handler.ReadJwtToken(result);

            Assert.True(token.ValidTo > DateTime.UtcNow);
        }
Beispiel #4
0
        public void CreateToken_Should_HaveClientIdClaim()
        {
            // Arrange
            var sut      = new AuthTokenService();
            var clientId = Guid.NewGuid();
            // Act
            var result = sut.CreateToken(Guid.NewGuid(), "Key", clientId);
            // Assert
            var handler = new JwtSecurityTokenHandler();
            var jwt     = handler.ReadJwtToken(result);
            var value   = jwt.Claims.First(x => x.Type == "Gibson-ClientId").Value;

            Assert.Equal(clientId.ToString(), value);
        }
Beispiel #5
0
        public void CreateToken_Should_HaveUserIdClaim()
        {
            // Arrange
            var sut    = new AuthTokenService();
            var userId = Guid.NewGuid();
            // Act
            var result = sut.CreateToken(userId, "Key", Guid.NewGuid());
            // Assert
            var handler = new JwtSecurityTokenHandler();
            var jwt     = handler.ReadJwtToken(result);
            var value   = jwt.Claims.First(x => x.Type == "unique_name").Value;

            Assert.Equal(userId.ToString(), value);
        }
Beispiel #6
0
        public void CreateToken_Should_ProduceAValidateableToken()
        {
            // Arrange
            var sut = new AuthTokenService(SECRET);
            // Act
            var result = sut.CreateToken(Guid.NewGuid(), "NMJ", Guid.NewGuid());
            // Assert
            var handler          = new JwtSecurityTokenHandler();
            var key              = Encoding.ASCII.GetBytes(SECRET);
            var validationParams = new TokenValidationParameters
            {
                IssuerSigningKey    = new SymmetricSecurityKey(key),
                RequireSignedTokens = true,
                ValidateAudience    = false,
                ValidateIssuer      = false
            };

            handler.ValidateToken(result, validationParams, out var validatedToken);
        }