Esempio n. 1
0
        private async Task<string> GetToken(string username, DateTime? expires)
        {
            var handler = new JwtSecurityTokenHandler();
            var user = await _userManager.FindByNameAsync(username);
            var principal = await _signInManager.CreateUserPrincipalAsync(user);
            var claimsIdentity = new ClaimsIdentity(principal.Identity, principal.Claims);

            var securityToken = handler.CreateToken(
                issuer: _tokenOptions.Issuer,
                audience: _tokenOptions.Audience,
                signingCredentials: _tokenOptions.SigningCredentials,
                subject: claimsIdentity,
                expires: expires
                );
            return handler.WriteToken(securityToken);
        }
        private string GetToken(User user, DateTime? expires)
        {
            var handler = new JwtSecurityTokenHandler();

            ClaimsIdentity identity = new ClaimsIdentity(new GenericIdentity(user.Email, "TokenAuth"), new[]
            {
                new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", user.Id.ToString())
            });

            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer = _tokenOptions.Issuer,
                Audience = _tokenOptions.Audience,
                SigningCredentials = _tokenOptions.SigningCredentials,
                Subject = identity,
                Expires = expires
            });
                
            return handler.WriteToken(securityToken);
        }
Esempio n. 3
0
        public string CreateToken(AppUser user)
        {
            var claims = new List <Claim>()
            {
                new Claim(JwtRegisteredClaimNames.NameId, user.UserName)
            };

            // generate signing credentials
            var creds = new SigningCredentials(_key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(7),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 4
0
        public static string GenerateToken(User user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(Settings.Secret);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.Username.ToString()),
                    new Claim(ClaimTypes.Role, user.Role.ToString())
                }),

                Expires = DateTime.UtcNow.AddHours(2),

                SigningCredentials = new SigningCredentials(
                    new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 5
0
        public string CreateToken(AppUser user)
        {
            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Email, user.Email),
                new Claim(ClaimTypes.GivenName, user.DisplayName),
            };

            var creds = new SigningCredentials(_key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(7),
                SigningCredentials = creds,
                Issuer             = _config["Token:Issuer"]
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 6
0
        //public object GetAuthToken(Usuario user)
        //{
        //    var token = GenerateToken(user);

        //    return new
        //    {
        //        accessToken = token
        //    };
        //}

        public string GenerateToken(Usuario user)
        {
            ClaimsIdentity identity = new ClaimsIdentity(
                new GenericIdentity(user.NombreUsuario, "TokenAuth"),
                new[]
            {
                new Claim("NombreUsuario", user.NombreUsuario),
                new Claim("Contrasena", user.Contrasena),
            }
                );

            RsaSecurityKey Key = new RsaSecurityKey(RSAKeyHelper.GenerateKey());

            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = user.NombreUsuario,
                Audience           = user.Contrasena,
                SigningCredentials = new SigningCredentials(Key, SecurityAlgorithms.RsaSha256Signature),
                Subject            = identity
            });

            return(handler.WriteToken(securityToken));
        }
Esempio n. 7
0
        public static string GenerateToken(string Username, object UserData, int expireMinutes = 1440)
        {
            var symmetricKey = Convert.FromBase64String(Secret);
            var tokenHandler = new JwtSecurityTokenHandler();

            var now             = DateTime.UtcNow;
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, Username),
                    new Claim(ClaimTypes.UserData, JsonConvert.SerializeObject(UserData))
                }),
                Expires            = now.AddMinutes(Convert.ToInt32(expireMinutes)),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey),
                                                            SecurityAlgorithms.HmacSha256Signature)
            };

            var stoken = tokenHandler.CreateToken(tokenDescriptor);
            var token  = tokenHandler.WriteToken(stoken);

            return(token);
        }
Esempio n. 8
0
        public string GetChangePasswordToken(Users user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(_appSettings.Secret);
            var expiration   = Encoding.ASCII.GetBytes(_appSettings.Expiration);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.ID.ToString()),
                    new Claim(ClaimTypes.Email, user.EmailAddress),
                    new Claim("Password", user.Password)
                }),
                Expires            = DateTime.UtcNow.AddHours(2),
                Issuer             = _jwtSettings.Issuer,
                Audience           = _jwtSettings.Audience,
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 9
0
 public string CreateToken(AppUser user)
 {
     try
     {
         var claims = new List <Claim> {
             new Claim(JwtRegisteredClaimNames.NameId, user.UserName)
         };
         var creds           = new SigningCredentials(_key, SecurityAlgorithms.HmacSha512Signature);
         var tokenDescriptor = new SecurityTokenDescriptor
         {
             Subject            = new ClaimsIdentity(claims),
             Expires            = DateTime.Now.AddDays(7),
             SigningCredentials = creds
         };
         var tokenHandler = new JwtSecurityTokenHandler();
         var token        = tokenHandler.CreateToken(tokenDescriptor);
         return(tokenHandler.WriteToken(token));
     }
     catch (System.Exception e)
     {
         return($"{e.Message}");
     }
 }
Esempio n. 10
0
        public static void GenerateToken(this User user, string secret, int expires)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(secret);

            var claims = new List <Claim> {
                new Claim(ClaimTypes.Name, user.FirstName),
            };
            var roleClaims = user.UserRoles.Select(x => new Claim(ClaimTypes.Role, x.Role.Name));

            claims.AddRange(roleClaims);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new System.Security.Claims.ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddMinutes(expires),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            user.Token = tokenHandler.WriteToken(token);
            //    user.Password = null;
        }
Esempio n. 11
0
        public string GenerateToken(IdentityUser user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.UTF8.GetBytes(ApiConfig.JwtSecretKey);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.NameIdentifier, user.Id),
                    new Claim(ClaimTypes.Name, user.UserName),
                    new Claim(ClaimTypes.Email, user.Email),
                }),
                Expires            = DateTime.UtcNow.AddSeconds(double.Parse(ApiConfig.JwtExp)), //TODO: Try parse
                SigningCredentials =
                    new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature),
                Audience = ApiConfig.JwtAudience,
                Issuer   = ApiConfig.JwtIssuer
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 12
0
        public string GerarToken(string email, int tempoExpiracao)
        {
            var symmetricKey = Convert.FromBase64String(chaveJwt);
            var tokenHandler = new JwtSecurityTokenHandler();

            var now             = DateTime.UtcNow;
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, email)
                }),

                Expires = now.AddMinutes(Convert.ToInt32(tempoExpiracao)),

                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey), SecurityAlgorithms.HmacSha256Signature)
            };

            var stoken = tokenHandler.CreateToken(tokenDescriptor);
            var token  = tokenHandler.WriteToken(stoken);

            return(token);
        }
        private string GenerateJWToken(User model)
        {
            var claims = new List <Claim> {
                new Claim(ClaimTypes.NameIdentifier, model.Id),
                new Claim(ClaimTypes.Name, model.UserName)
            };

            var key = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_config.GetSection("AppSettings:Token").Value));

            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(1),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
        public string GenerateToken(int userId, string username, string role)
        {
            Claim[] claims = new Claim[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, userId.ToString()),
                new Claim("name", username),
                new Claim(ClaimTypes.Role, role),
                new Claim("iat", DateTimeOffset.Now.ToUnixTimeSeconds().ToString())
            };

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(claims),
                Expires = DateTime.UtcNow.AddMinutes(1),
                // Expires = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(JwtSecret)), SecurityAlgorithms.HmacSha256Signature)
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 15
0
        public string CreateToken(ApplicationUser user)
        {
            var claims = new List <Claim>()
            {
                new Claim(JwtRegisteredClaimNames.Email, user.Email)
            };

            var key   = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_key));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor()
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(7),
                SigningCredentials = creds
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 16
0
        private string GetToken(Usuario user)
        {
            var tokenHandler = new JwtSecurityTokenHandler();

            var llave           = Encoding.ASCII.GetBytes(_appSettings.Secreto);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(
                    new Claim[]
                {
                    new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                    new Claim(ClaimTypes.Email, user.Email)
                }
                    ),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials =
                    new SigningCredentials(new SymmetricSecurityKey(llave), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
        private object GenerateToken(AppUser identityUser)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(jwtBearerTokenSettings.SecretKey);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, identityUser.UserName.ToString()),
                    new Claim(ClaimTypes.Email, identityUser.Email)
                }),

                Expires            = DateTime.UtcNow.AddSeconds(jwtBearerTokenSettings.ExpiryTimeInSeconds),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature),
                Audience           = jwtBearerTokenSettings.Audience,
                Issuer             = jwtBearerTokenSettings.Issuer
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 18
0
        public JsonWebTokenViewModel CreateToken(UsuarioViewModel usuario)
        {
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(_appSettings.SecretKey);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(GetUserClaims(usuario)),
                Expires            = DateTime.Now.AddDays(_appSettings.JwtSettings.Expiration),
                NotBefore          = DateTime.Now,
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var stringToken = tokenHandler.WriteToken(token);


            return(new JsonWebTokenViewModel
            {
                AccessToken = stringToken,
                RefreshToken = CreateRefreshToken(usuario.Id)
            });
        }
Esempio n. 19
0
        public IActionResult Authenticate()
        {
            var claims = new []
            {
                new Claim(JwtRegisteredClaimNames.Sub, "dummy_id"),
                new Claim(JwtRegisteredClaimNames.Email, "*****@*****.**"),
                new Claim(JwtRegisteredClaimNames.UniqueName, "bob"),
            };
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(Constants.key);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Issuer             = Constants.Issuer,
                Audience           = Constants.Audience,
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.UtcNow.AddHours(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token     = tokenHandler.CreateToken(tokenDescriptor);
            var tokenJson = tokenHandler.WriteToken(token);

            return(Ok(new { access_token = tokenJson }));
        }
 public async Task <IActionResult> Token([FromBody] Credentials creds)
 {
     if (await CheckPassword(creds))
     {
         JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
         byte[] secret = Encoding.ASCII.GetBytes(configuration["jwtSecret"]);
         SecurityTokenDescriptor descriptor = new SecurityTokenDescriptor {
             Subject = new ClaimsIdentity(new Claim[] {
                 new Claim(ClaimTypes.Name, creds.Username)
             }),
             Expires            = DateTime.UtcNow.AddHours(24),
             SigningCredentials = new SigningCredentials(
                 new SymmetricSecurityKey(secret),
                 SecurityAlgorithms.HmacSha256Signature)
         };
         SecurityToken token = handler.CreateToken(descriptor);
         return(Ok(new {
             success = true,
             token = handler.WriteToken(token)
         }));
     }
     return(Unauthorized());
 }
Esempio n. 21
0
        private static string CreateToken(string userName, string[] roles)
        {
            var claims = new List <Claim> {
                new Claim(ClaimTypes.Name, userName)
            };

            foreach (var role in roles)
            {
                claims.Add(new Claim(ClaimTypes.Role, role));
            }

            var key             = Encoding.ASCII.GetBytes(AuthorizationConstants.JWT_SECRET_KEY);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims.ToArray()),
                Expires            = DateTime.UtcNow.AddHours(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 22
0
        public string GenerateToken(UserForListDto userForListDto, string secret, string issuer, string audience)
        {
            var claims = new[]
            {
                new Claim("UserId", userForListDto.Id.ToString()),
                new Claim("UserName", userForListDto.FirstName + " " + userForListDto.LastName)
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddHours(12),
                Issuer             = issuer,
                Audience           = audience,
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)), SecurityAlgorithms.HmacSha512)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));;
        }
Esempio n. 23
0
    public async Task <ActionResult> Login(LoginModel model)
    {
        var key = Encoding.UTF8.GetBytes("1234567890123456");

        if (await accountRepository.Login(model))
        {
            var user = await userManager.FindByEmailAsync(model.Email);

            var tokendescriptor = new SecurityTokenDescriptor {
                Subject = new ClaimsIdentity(new Claim[] {
                    new Claim("Email", user.Email),
                    new Claim("id", user.Id)
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var tokenhandler  = new JwtSecurityTokenHandler();
            var Securitytoken = tokenhandler.CreateToken(tokendescriptor);
            var token         = tokenhandler.WriteToken(Securitytoken);
            return(Ok(new { token = token }));
        }
        return(BadRequest("Invalid Credetials"));
    }
Esempio n. 24
0
        /// <summary>
        /// 创建JWT
        /// </summary>
        /// <param name="userData"></param>
        /// <returns></returns>
        private static string BuildJwt(AdministratorData userData)
        {
            var tokenHandler    = new JwtSecurityTokenHandler();
            var authTime        = DateTime.UtcNow;
            var expiresAt       = authTime.AddYears(1);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new List <Claim>
                {
                    new Claim(JwtClaimTypes.Id, userData.UserId),
                    new Claim(ConstString.JwtCompanyId, userData.CompanyId),
                    new Claim(ConstString.KeyName, ConstString.KeyValue),
                    new Claim(ClaimTypes.UserData, userData.ToJson())
                }),
                Expires            = expiresAt,
                SigningCredentials =
                    new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(ConstString.AuthKey)),
                                           SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
        private async Task <string> GerarJwt(string email)
        {
            var user = await _userManager.FindByEmailAsync(email);

            // Recuperar claims do usuario
            var identityClaims = new ClaimsIdentity();

            identityClaims.AddClaims(await _userManager.GetClaimsAsync(user));

            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(_appSettings.Secret);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = identityClaims,
                Issuer             = _appSettings.Emissor,
                Audience           = _appSettings.ValidoEm,
                Expires            = DateTime.UtcNow.AddHours(_appSettings.ExpiracaoHoras),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            return(tokenHandler.WriteToken(tokenHandler.CreateToken(tokenDescriptor)));
        }
        public JsonWebToken CreateJsonWebToken(ApplicationUser user)
        {
            var identity      = GetClaimsIdentity(user);
            var handler       = new JwtSecurityTokenHandler();
            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Subject            = identity,
                Issuer             = _jwtSetting.Issuer,
                Audience           = _jwtSetting.Audience,
                IssuedAt           = _jwtSetting.IssuedAt,
                NotBefore          = _jwtSetting.NotBefore,
                Expires            = _jwtSetting.AccessTokenExpiration,
                SigningCredentials = _jwtSetting.SigningCredentials
            });

            var accessToken = handler.WriteToken(securityToken);

            return(new JsonWebToken
            {
                AccessToken = accessToken,
                ExpiresIn = (long)TimeSpan.FromMinutes(_jwtSetting.ValidForMinutes).TotalSeconds
            });
        }
Esempio n. 27
0
        public string GenerateToken(User user)
        {
            if (user == null)
            {
                return("Impossivel gerar o token");
            }
            var tokenHandler = new JwtSecurityTokenHandler();
            var key          = Encoding.ASCII.GetBytes(Configuration.GetValue <string>("Settings:Secret"));

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.Email.ToString()),
                }),
                Expires            = DateTime.UtcNow.AddMinutes(30),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 28
0
        public string CreateToken(string userName, int userID)
        {
            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Name, userName),
                new Claim("Id", userID.ToString())
            };

            var identity = new ClaimsIdentity(claims);


            var secret          = SECRET;
            var key             = Encoding.UTF8.GetBytes(secret);
            var tokenDescriptor = new SecurityTokenDescriptor {
                Subject            = identity,
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var token = _tokenHandler.CreateToken(tokenDescriptor);

            return(_tokenHandler.WriteToken(token));
        }
Esempio n. 29
0
        public static string GenerateToken(string username, int expireHours = 8)
        {
            var symmetricKey = Convert.FromBase64String(Secret);
            var tokenHandler = new JwtSecurityTokenHandler();

            var now             = DateTime.UtcNow;
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.Name, username)
                }),

                Expires = now.AddHours(Convert.ToInt32(expireHours)),

                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey), SecurityAlgorithms.HmacSha256Signature)
            };

            var stoken = tokenHandler.CreateToken(tokenDescriptor);
            var token  = tokenHandler.WriteToken(stoken);

            return(token);
        }
Esempio n. 30
0
        public string GenerateAuthenticationToken(string userId, string userRole, string userEmail, bool isEmailConfirmed)
        {
            var securityKey       = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(this.config["JWT_SECRET"].ToString()));
            var securityAlgorithm = SecurityAlgorithms.HmacSha256Signature;
            var options           = new IdentityOptions();
            var tokenDescriptor   = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim("id", userId), // "UserId"
                    new Claim(options.ClaimsIdentity.RoleClaimType, userRole),
                    new Claim("email", userEmail),
                    new Claim("isEmailConfirmed", isEmailConfirmed.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(securityKey, securityAlgorithm)
            };
            var tokenHandler  = new JwtSecurityTokenHandler();
            var securityToken = tokenHandler.CreateToken(tokenDescriptor);
            var token         = tokenHandler.WriteToken(securityToken);

            return(token);
        }
Esempio n. 31
0
        public string CreateToken(AppUser user)
        {
            var claims = new List <Claim>
            {
                new Claim(JwtRegisteredClaimNames.NameId, user.Id.ToString()),
                new Claim(JwtRegisteredClaimNames.UniqueName, user.UserName)
            };

            var cred = new SigningCredentials(_key, SecurityAlgorithms.HmacSha512Signature);

            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new System.Security.Claims.ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(14),
                SigningCredentials = cred
            };

            var tokenHandler = new JwtSecurityTokenHandler();

            var token = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 32
0
        public bool Authenticate(string userName, string password, string secretKey, out string jwtToken)
        {
            jwtToken = string.Empty;
            if (!_userRepository.ValidateCredentials(userName, password))
            {
                return(false);
            }
            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(secretKey);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, userName)
                }),
                Expires            = DateTime.UtcNow.AddDays(1),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            jwtToken = tokenHandler.WriteToken(token);
            return(true);
        }
Esempio n. 33
0
        private string GetToken(string user, DateTime? expires)
        {
            var handler = new JwtSecurityTokenHandler();

            // Here, you should create or look up an identity for the user which is being authenticated.
            // For now, just creating a simple generic identity.
            ClaimsIdentity identity = new ClaimsIdentity(new GenericIdentity(user, "TokenAuth"), new[] { new Claim("EntityID", "1", ClaimValueTypes.Integer) });

            var securityToken = handler.CreateToken(
                issuer: tokenOptions.Issuer,
                audience: tokenOptions.Audience,
                signingCredentials: tokenOptions.SigningCredentials,
                subject: identity,
                expires: expires
                );
            return handler.WriteToken(securityToken);
        }
		private TokenModel GetToken(ApplicationUser user) {
			var handler = new JwtSecurityTokenHandler();

			ClaimsIdentity identity = new ClaimsIdentity(new GenericIdentity(user.Email, "TokenAuth"), new[] { new Claim("UserId", user.Id, ClaimValueTypes.String) });

			var securityToken = handler.CreateToken(GetTokenOptions(identity));

			return new TokenModel { Token = handler.WriteToken(securityToken) };
		}
        private string GetToken(ClaimsIdentity identity, DateTime? expires)
        {
            var handler = new JwtSecurityTokenHandler();

            var securityToken = handler.CreateToken(
                issuer: tokenOptions.Issuer,
                audience: tokenOptions.Audience,
                signingCredentials: tokenOptions.SigningCredentials,
                subject: identity,
                expires: expires
                );
            return handler.WriteToken(securityToken);
        }