Esempio n. 1
0
        // 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));
        }
Esempio n. 2
0
        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);
        }