コード例 #1
0
        public ServicioSesion()
        {
            AplicationID = Guid.NewGuid();
            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidarCertificado);
            _clientHttpToken.BaseAddress = new Uri("https://localhost:44361/");
            _clientHttpToken.DefaultRequestHeaders.Accept.Clear();
            _clientHttpToken.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            _clientHttpPermsos.BaseAddress = new Uri("https://localhost:44361/");
            _clientHttpPermsos.DefaultRequestHeaders.Accept.Clear();
            _clientHttpPermsos.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            UsuarioSesion = new UsuarioSesionDTO();

            Task.Run(() => WatchDogServer());
        }
コード例 #2
0
        //"the secret that needs to be at least 16 characeters long for HmacSha256"
        public static string GenerateToken(UsuarioSesionDTO usuario, string hostName, Guid aplicactionID)
        {
            var claims = new Claim[]
            {
                new Claim(ClaimTypes.Name, usuario.CodigoUsuario),
                new Claim(nameof(TokenClaimNames.PkUsuario), usuario.CodigoUsuario),
                new Claim(nameof(TokenClaimNames.HostName), hostName),
                new Claim(nameof(TokenClaimNames.AplicationID), aplicactionID.ToString()),
                new Claim(JwtRegisteredClaimNames.Nbf, new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds().ToString()),
                new Claim(JwtRegisteredClaimNames.Exp, new DateTimeOffset(DateTime.Now.AddMinutes(1)).ToUnixTimeSeconds().ToString()),
            };

            var token = new JwtSecurityToken(
                new JwtHeader(new SigningCredentials(
                                  new SymmetricSecurityKey(Encoding.UTF8.GetBytes(TokenSecurityKey)),
                                  SecurityAlgorithms.HmacSha256)),
                new JwtPayload(claims));

            return(new JwtSecurityTokenHandler().WriteToken(token));
        }