Ejemplo n.º 1
0
        private async Task <object> GenerateJwtToken(string email, IdentityUser user)
        {
            var Token = new JsonWebTokenBuilder()
                        .AddSecurityKey(JsonWebTokenSecurityKey.Create(_configuration["JWebtokenKey"].ToString()))
                        .AddSubject(user.UserName.ToString())
                        .AddIssuer(_configuration["JWebtokenIssuer"].ToString())
                        .AddAudience(_configuration["JWebtokenIssuer"].ToString())
                        .AddClaim(user.UserName, user.Id)
                        .AddExpiry(10)
                        .Build();



            //var claims = new List<Claim>
            //{
            //    new Claim(JwtRegisteredClaimNames.Sub, email),
            //    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
            //    new Claim(ClaimTypes.NameIdentifier, user.Id)
            //};

            //var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JWebtokenKey"]));
            //var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            //var expires = DateTime.Now.AddDays(Convert.ToDouble(_configuration["JWebTokenExpireDays"]));

            //var token = new JwtSecurityToken(
            //    _configuration["JWebtokenIssuer"],
            //    _configuration["JWebtokenIssuer"],
            //    claims,
            //    expires: expires,
            //    signingCredentials: creds
            //);

            return(new JwtSecurityTokenHandler().WriteToken(Token.PublicToken));
        }
Ejemplo n.º 2
0
        private void GenerateToken()
        {
            var section = configuration.GetSection("ZoomMeeting");

            var API_KEY    = section.GetValue <string>("api_key");
            var API_SECRET = section.GetValue <string>("api_secret");

            JsonWebTokenBuilder builder = new JsonWebTokenBuilder();
            var header  = new Header();//instanciado com os valores padrão.
            var payload = new PayloadResponse()
            {
                api_key    = API_KEY,
                expireDate = Convert.ToInt32(DateTime.UtcNow.AddMinutes(30).Subtract(new DateTime(1970, 1, 1)).TotalSeconds),
            };

            builder.AddHeader("alg", header.alg);
            builder.AddHeader("typ", header.typ);

            builder.AddClaim("exp", payload.expireDate);
            builder.AddClaim("iss", payload.api_key);

            this.Token = builder.GetJWT(API_SECRET);
        }