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 }); }
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 }); }
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 }; }
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 }); }
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 }); }
//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 }); }
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 }); }
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 }); }
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 }); }
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 }); }
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 }); }
//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 }); }
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 }); }
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 }); }
// 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 }); }
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 }); }