public JwtToken CriarToken(UsuarioEntity usuario) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(usuario.Login), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, usuario.UsuarioId.ToString()), new Claim(JwtRegisteredClaimNames.Sub, "Felipe Junges"), new Claim(ClaimTypes.Role, "Admin"), new Claim(ClaimTypes.Role, "Gerente") } ); var dataCriacao = DateTime.Now; var dataExpiracao = dataCriacao + TimeSpan.FromHours(_tokenConfigurations.Hours); var handler = new JwtSecurityTokenHandler(); var securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = _tokenConfigurations.Issuer, Audience = _tokenConfigurations.Audience, SigningCredentials = _signingConfigurations.SigningCredentials, Subject = identity, NotBefore = dataCriacao, Expires = dataExpiracao }); var token = handler.WriteToken(securityToken); var refreshToken = GenerateRefreshToken(); return(JwtToken.Criar(token, refreshToken, dataCriacao, dataExpiracao)); }