private static object GenerateToken(CapRedV2User user, IEnumerable <string> roles, IConfiguration configuration) { var issuedOn = DateTime.Now; var expiration = DateTime.Now.AddDays(14); var enumerableOfRoles = roles as string[] ?? roles.ToArray(); var rolesClaim = enumerableOfRoles.Any() ? enumerableOfRoles.Aggregate((i, j) => i + "," + j) : string.Empty; var claims = new[] { new Claim(ClaimTypes.Name, user.UserName), new Claim(ClaimTypes.Role, rolesClaim), new Claim(JwtRegisteredClaimNames.Aud, configuration["TokenSettings:Audience"]), new Claim(JwtRegisteredClaimNames.Iss, configuration["TokenSettings:Issuer"]), new Claim(JwtRegisteredClaimNames.Nbf, new DateTimeOffset(issuedOn).ToUnixTimeSeconds().ToString()), new Claim(JwtRegisteredClaimNames.Exp, new DateTimeOffset(expiration).ToUnixTimeSeconds().ToString()), }; var token = new JwtSecurityToken( new JwtHeader(new SigningCredentials( new SymmetricSecurityKey(Encoding.UTF8.GetBytes(TokenConstants.TokenSalt)), SecurityAlgorithms.HmacSha256)), new JwtPayload(claims)); return(new { access_token = new JwtSecurityTokenHandler().WriteToken(token), token_type = "bearer JWT", issuedOn, expiration }); }
private static void SeedUsers(CapRedV2Context context) { if (context.Users.Any(u => u.Id == "ff9398f7-7658-4f1b-b155-8b98e9dffc0c")) { return; } var nexusUser = new CapRedV2User { Id = "ff9398f7-7658-4f1b-b155-8b98e9dffc0c", AccessFailedCount = 0, ConcurrencyStamp = "f1e41336-f067-447f-ad6d-77c7715602c8", UserName = "******", Email = "*****@*****.**", EmailConfirmed = false, IsActive = null, LockoutEnabled = true, LockoutEnd = null, NormalizedEmail = "*****@*****.**", NormalizedUserName = "******", PasswordHash = "AQAAAAEAACcQAAAAEIF95+8PMXIq+ABPZUGqspbx3NE/GPcOEh7N7ne98FolAGQQdjYIs2hQt18GFbHpKA==", PhoneNumberConfirmed = false, SecurityStamp = "503bd33d-df51-4dbf-9a73-c8f357f64232", TwoFactorEnabled = false }; context.Users.Add(nexusUser); }
public async Task <IdentityResult> RegisterAsync(CapRedV2UserSignUpDTO capRedV2UserSignUpDTO) { _signUpValidatorEngine.Validate(capRedV2UserSignUpDTO); var user = new CapRedV2User { UserName = capRedV2UserSignUpDTO.Email, Email = capRedV2UserSignUpDTO.Email }; return(await _userManager.CreateAsync(user, capRedV2UserSignUpDTO.Password)); }
public async Task <IList <string> > GetRolesAsync(CapRedV2User user) { return(await _userManager.GetRolesAsync(user)); }