public void CreateToken_Should_ThrowException_OnEmptyClientKey() { // Arrange var sut = new AuthTokenService(); // Act & Assert Assert.Throws <ArgumentException>(() => sut.CreateToken(Guid.NewGuid(), "", Guid.Empty)); }
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)); }
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); }
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); }
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); }
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); }