public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //Bir Token içerisinde bunlar olması gerekiyor;
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);  //Bu token ne zamaa kadar geçerli olacak
            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#2
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //user ve claimlere göre token oluşturur
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);      //10 dk süre
            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);    //güvenlik anahtarı oluşturulur
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);    //algoritma çağırılır
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims); //tokenoptionları kullanılarak ilgili kullanıcılara yetkiler atanır
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //Bir Token içerisinde bunlar olması gerekiyor;
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);      //Bu token ne zaman bitecek?
            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);    //anahtar değeri
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);    //hangi anahtarı kullanacak,hangi algoritma kullanacak?
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims); //ortaya bir JWT olusacak.
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#4
0
        public AccessToken CreateToken(User user, List<OperationClaim> operationClaims)
        {
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            };

        }
示例#5
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey); // bu üçü ile elimizde gerekli her şey var, aşağıdan itibaren bunlar ile jwt üretiyoruz

            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#6
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);           //biz bir şifreli bir token oluşturacağız bunu yaparken kendi bildiğimiz bir anahtara ihtiyacımız var.Bu noktada encryption klasöründeki securityKeyHelper classına bak
            //var securityKey =new SymmetricSecurityKey(Encoding.UTF8.GetBytes(securityKey)) bu kodu yazmak yerine encryption da SecurityKeyHelper oluşturduk ordan çağırdık(yukarıdaki satır.)
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);    //Encryption SingingCredentialsHelper kısmınından çağırdık şifreleme algoritması
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims); //alt kısımda classı var
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#7
0
        //Token üret,User ve Claim lere göre
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //bu token nezaman biticek
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            //hangi anahat ve hangi algoritmayı kullanıcak
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#8
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //sistem zamanına 10 dk ekle :appsetting'de AccessTokenExpiration bilgisi
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);

            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#9
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey        = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            //jwt oluşturduk şimdi bu token ı elimizdeki bilgilere göre bir handler ile yazmamız gerekiyor
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);


            //ve artık benim bir AccessToken döndürmem gerekiyor
            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#10
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            // Token'nın geçerli olma süresi
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            // Anahtar değerini oluşturuyor
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            // Hangi anahtar, hangi Algorithm
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);

            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#11
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //token süresi
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            //appsetting'deki securitykey'i yazdığımız method ile byte[]'e çevirdik
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            //securitykey'i de yazdığımız method ile jwt'nin istediği şekilde signingCredentials'a çevirdik.
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            //yukarıda set ettiğimiz bilgiler ile aşağıdaki methodu çalıştırıp jwttoken oluşturduk.
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#12
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            // Bu token ne zaman bitecek.  _tokenOptions -> daki configuration'dan alıyor

            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            // Hangi anahtari ve algoritmai kullanacagiz

            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            // Ve ortaya bir JWT uretiyoruz.(_tokenOptions, kullaiciBilgisi, bu adamin claim'leri neler.)  -- Bu bilgiler ile methoda ilerleyelim(below)
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#13
0
        //IToken'daki metodumuz
        //Kullanıcımız ıcın bir adet token olusturugumuz metot bizden bir user ve bir clim istiyor ona gore olusturacagız.
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            //burası tokenımıza süre veriyor. şimdidden itibaren dakıka ekle diyoruz. ne kadar dakika? appsetting, tokenoptions da accesstokenexpiration'a verdiğimiz süre kadar.
            //Bu değişken uzerinden süreyi nasıl alıyor? configuration sayaesinde. Burası=> ( _tokenOptions = Configuration.GetSection("TokenOptions").Get<TokenOptions>();)
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            //aynı sekıılde securitykey e de appsettingdeki securityi alıp securitykeyhelper a atıp onun asımetrık halını almamız gerek
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            //burada ise yukarıdaki securitykeyi al simetrik halini onu sha5512 algoritmesına donustur diyor.
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
            //burada ise imzadaki 4 bilgiyi alarak token uretecegız.(metot aşağıda)
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#14
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            // bir tokenda olması gerekenler
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            // şu andan itibaren dakika ekle. ne kadar süre ekle? tokenOptions'a verdiğimiz süre.(appjsonsettings kısmında. 10dk bunun için)
            //bunu configurasyondan alıyor. bu configurasyon ne? bizim buraya enjekte ettiğimiz yapı. bizim api uygulamamızdaki appsettingjason dosyasını okumamıza yarıyor.
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);        // yazdığım helperdaki metot.
            // tokenOption(appsetting.jason) ordaki securitykey'i kullanarak, securityKey formatında vermem gerek. onu daha önce yazdık. encripton=> security key helper da byte[]'a çevirdik stringi
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey); // yazdığım helperdaki metot.
            // hangi anahtar/ algorimayı kullanacağımızı söylüyor. (yazmıştık)
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            // ortaya böylece bir jwt(jason web token) çıkıyor. bunu üretmek için bazı parametreleri kullanıyoruz. tokenOption(appsettingde), kullanıcı bilgisi(hangi kullanıcı için), bu kullanıcın claimleri neler? neyi kullanarak yazacak(signingcredentials) => bunu bir metot vasıtası ile aşağıda oluşturduk biz.
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#15
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);

            //var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenOptions.SecurityKey));
            // Yukarıdaki kod yerine Helper sınıfı kullanalım (Security-Encryption --> SecurityKeyHelper)
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);

            // Security-Encryption --> SigningCredentialsHelper sınıfını kullanalım.
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);

            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#16
0
        // kullanıcı token oluşturma
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            // şuanın zamanına json dosyada belirlediğimiz kadar dakika ekler
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
            // verdiğimiz güvenlik anahtarını üzerinden gerçeği oluşturulur
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
            //ayarlardaki verdiğimiz ga ile giriş bilgisi hesaplanır
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);

            // bu bilgiler ile token bilgileri hesaplanır,
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);


            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt); //token oluşturulur

            return(new AccessToken                               // sınıfımızın şekliyle dönüş sağlar+
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }
示例#17
0
        public AccessToken CreateToken(User user, List <OperationClaim> operationClaims)
        {
            // appsettings.json içindeki AccessTokenExpiration değerinden alıyoruz. 10 dk eklemiş olduk
            _accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);

            // appsetting içindeki securityKey kullanarak, oluşturabilirsin
            var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);

            // Hangi algoritmayı kullncağımızı söylüyor
            var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);

            // TokenOptionları, ilgili kullanıcı için, ilgili algoritmaları kullanarak, ilgilili yetkileri içeren JWT oluştur
            var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);

            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwt);

            return(new AccessToken
            {
                Token = token,
                Expiration = _accessTokenExpiration
            });
        }