public void EncryptV3_WithDateTimeOnly_ReturnsEncryptedTokenWithOnlyDate() { // Arrange var generator = new TokenBuilder(); var expireTime = DateTime.Now.AddMilliseconds(300); var key = Faker.Name.FullName(); // Act var token = generator.EncryptV3(key, expireTime); // Assert Assert.NotNull(token); var decryptdToken = generator.DecryptV3(key, token); var expected = $"ec_expire={expireTime.FromEpoch()}"; Assert.Equal(expected, decryptdToken); }
public void EncryptV3_WithDateTimeAndClientIP_ReturnsEcnryptedTokenWithBoth() { // Arrange var generator = new TokenBuilder(); var expireTime = DateTime.Now.AddMilliseconds(300); var clientIp = Faker.Internet.DomainName(); var key = Faker.Name.FullName(); // Act var token = generator.EncryptV3(key, expireTime, clientIp); // Assert Assert.NotNull(token); var decryptdToken = generator.DecryptV3(key, token); var expected = $"ec_expire={expireTime.FromEpoch()}&ec_clientip={clientIp}"; Assert.Equal(expected, decryptdToken); }
public string NewToken(string policyName) { var policy = _config.GetPolicyByName(policyName) ?? new MediaConfigPolicy(); var tokenBuilder = new TokenBuilder(); string clientIPAddress = null; if (policy.RestrictIPAddress == RestrictIPAddressMode.Request && _currentContext != null) { clientIPAddress = _currentContext.Connection.RemoteIpAddress.ToString(); } return(tokenBuilder.EncryptV3(_config.Key, policy.ExpirationTimeSpan, clientIPAddress, policy.AllowedCountries, policy.DeniedCountries, policy.AllowedReferers, policy.DeniedReferers, policy.AllowedProtocol, policy.DeniedProtocol, policy.AllowedUrls)); }