public static string GenerateJwt(UserDto userDto) { var now = DateTime.UtcNow; var jwt = new JwtSecurityToken( AuthOptions.Issuer, AuthOptions.Audience, notBefore: now, claims: new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, userDto.Name), new Claim("surname", userDto.Surname), new Claim("login", userDto.Login), new Claim(ClaimsIdentity.DefaultRoleClaimType, userDto.Role.ToString()) }, expires: now.Add(TimeSpan.FromMinutes(AuthOptions.Lifetime)), signingCredentials: new SigningCredentials(AuthOptions.GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256)); var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt); return(encodedJwt); }
public TokenService(AuthOptions authOpions, RoleRepository roleRepository) { _authOpions = authOpions; _roleRepository = roleRepository; }