public void Given_A_DateTime_Should_Convert_It_To_Unix_EpochDate() { // Arrange const string expected = "1353369600"; const string dateString = "2012-11-20T00:00:00Z"; var datetime = DateTime.Parse(dateString); // Act var result = DatetimeHelpers.ToUnixEpochDate(datetime); // Assert result.Should().BeEquivalentTo(expected); }
private async Task <List <Claim> > GetValidClaims(ApplicationUser user) { var options = new IdentityOptions(); var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.Sub, user.Id), new Claim(JwtRegisteredClaimNames.UniqueName, user.UserName), new Claim(JwtRegisteredClaimNames.GivenName, user.FullName), new Claim("profile-image-url", user.ProfileImageUrl ?? string.Empty), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Iat, DatetimeHelpers.ToUnixEpochDate(DateTime.Now), ClaimValueTypes.Integer64), new Claim(options.ClaimsIdentity.UserNameClaimType, user.UserName) }; var userClaims = await _userManager.GetClaimsAsync(user); var userRoles = await _userManager.GetRolesAsync(user); claims.AddRange(userClaims); foreach (var userRole in userRoles) { claims.Add(new Claim(ClaimTypes.Role, userRole)); var role = await _roleManager.FindByNameAsync(userRole); if (role != null) { var roleClaims = await _roleManager.GetClaimsAsync(role); foreach (var roleClaim in roleClaims) { claims.Add(roleClaim); } } } return(claims); }