private static IEnumerable <Claim> PrepareClaims(SingleStudentAuthenticationData studentAuthenticationData) { var claims = new List <Claim> { new Claim(Name, studentAuthenticationData.IndexNumber) }; studentAuthenticationData.Roles.Select(role => new Claim(Role, role)).ToList().ForEach(claims.Add); return(claims); }
private JwtSecurityToken GenerateJwtFromAuthenticationData(SingleStudentAuthenticationData authenticationData) { var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["AuthenticationKey"])); var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha512); return(new JwtSecurityToken ( _configuration["JwtIssuer"], _configuration["JwtAudience"], PrepareClaims(authenticationData), DateTime.UtcNow, DateTime.UtcNow.AddMinutes(TokenExpiryInMinutes), signingCredentials )); }