// Authentication(Yetkilendirme) başarılı ise JWT token üretilir. public string GenerateToken(string UserName, IList <string> Roles, bool IsPersonnel) { var tokenHandler = new JwtSecurityTokenHandler(); var ClaimsIdentityList = new ClaimsIdentity(); //Kullanıcıya ait roller Tokene Claim olarak ekleniyor for (int i = 0; i < Roles.Count; i++) { ClaimsIdentityList.AddClaim( new Claim(ClaimTypes.Role, Roles[i]) ); } //Kullanıcını UserName 'i tokena claim olarak ekleniyor ClaimsIdentityList.AddClaim( new Claim(ClaimTypes.Name, UserName) ); //Kullanıcı personnel ise 1 günlük token , değil ise 2 saatlik token verilecektir DateTime ExpiredTime; if (IsPersonnel) { ExpiredTime = DateTime.UtcNow.AddDays(1); } else { ExpiredTime = DateTime.UtcNow.AddHours(2); } //Kullanıcını UserName 'i tokena claim olarak ekleniyor ClaimsIdentityList.AddClaim( new Claim(ClaimTypes. Expired, value: ExpiredTime.ToString()) ); //Token üretimi için gerekli bilgiler , _tokenManagement => appsettings.json dosyasını okur var tokenDescriptor = new SecurityTokenDescriptor { Subject = ClaimsIdentityList, Issuer = _tokenManagement.Issuer, Audience = _tokenManagement.Audience, Expires = ExpiredTime, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_tokenManagement.Secret)), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor);//Token Üretini return(tokenHandler.WriteToken(token)); }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "prepaidcardtypeid", PrepaidCardTypeId }, { "cardnumber", CardNumber }, { "cardpassword", TopUtils.EncryptAes(CardPassword, AppSecret) }, { "bindshopid", BindShopId }, { "bindcompanyid", BindCompanyId }, { "money", Money }, { "expiredtime", ExpiredTime?.ToString() ?? "" } }; return(parameters); }