private UserAccountToken BuildToken(UserAccountData userData, IList <string> roles, string UserId) { var claims = new List <Claim> { new Claim(JwtRegisteredClaimNames.UniqueName, userData.Email), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()) }; foreach (var rol in roles) { claims.Add(new Claim(ClaimTypes.Role, rol)); } var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JWT:key"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var expiration = DateTime.UtcNow.AddMinutes(60); JwtSecurityToken token = new JwtSecurityToken( issuer: null, audience: null, claims: claims, expires: expiration, signingCredentials: creds); var newtoken = new UserAccountToken() { Token = new JwtSecurityTokenHandler().WriteToken(token), ExpirationDate = expiration, Id = UserId }; return(newtoken); }
/// <summary> /// Returns a list of members for the current account /// </summary> public IEnumerable <AccountMember> GetAccountMembers(UserAccountToken token) { return(_accountManager.GetAccountMembers(token, LatestValuationDate ?? DateTime.Today)); }