Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
                   ));
        }