1.
ingilizce jeton anlamına gelen kelimedir. ben bilgisayar bilimlerindeki karşılığından bahsedeceğim. bir jeton nasıl ki bir şeye erişmemizi sağlıyorsa aslında bilgisayar bilimlerindeki de bir kaynağa erişim işleminde kullanılır. token en çok kimlik doğrulama, yetkilendirme ve veri bütünlüğünü sağlamakta kullanılır. uygulamamızı yetkisiz kişilerin erişiminden korumak isteriz. mesela giriş yapmak istediğiniz siteler sizden kullanıcı adı ve şifre ister. bu alınan bilgiler sistemlerinin veri tabanındakilerle uyuşuyorsa giriş yapabilirsiniz. ancak bu işlem genelde doğrudan yapılmaz güvenlikli bir sistem girişi için bir token üretilir -harici bir yerden token üretilebilir mesela identity server- ve kendi sistemlerindeki bilgiyle karşılaştırılarak kullanıcı doğrulama gerçekleştirilir.
ancak siteden çıkar çıkmaz o kayıtlı hesabınızın yok olması yani her girişte kullanıcı adı ve şifre istenmesi kullanıcı deneyimi açısından epey kötüdür. bu gibi durumların yaşanmaması için token'ları ve cookie'leri birlikte kullanırız. token şifrelenmiş bir veridir diyebiliriz. bu örnekte kullanıcı bazlı bilgileri de içerir. içerisinde sistemde neye ihtiyaç varsa(örneğin kullanıcı id'si, email vs) bu bilgiler bulunur. siz beni hatırla derseniz bu bilgiler de bir cookie içerisine kaydolur.
cookie kısaca kullanıcının bilgisayarında tutulan -sistemin server'ında değil- her seferinde yeniden aynı bilgileri girmesin diye tutulan veridir. bilgisayarınızdan ilgili cookie'yi silerseniz siteye giriş işleminde kullanıcı adı ve şifreniz tekrar sorulacaktır. token'a geri dönersek bunun güvenlik açısından belirli bir sürede tutulması gerekir. bu saati geliştirici belirler ancak genelde bu 1 saattir. peki her 1 saat sonunda site bizi tekrar giriş ekranına mı yönlendirecek derseniz burada da refresh token denen yapı devreye giriyor.
refresh token içerisinde şifrelenmiş kimi bilgiler tutan token'ın süresi dolduğunda refresh token bilgisi istenenle uyuşuyorsa yeni access token -yani siteye giriş yapmanızı sağlayacak token- üretilmesini sağlayan yapıdır. yani güvenlik sebebiyle bu jetonunuz 1 saatliğine veriliyor. ancak her saat başı yeni access token üretmek için kullanıcıyı giriş ekranına göndermek yerine refresh token'a bakılarak yenisi üretiliyor. refresh token da süresiz değildir. mesela bir siteye giriş yaptınız ama sonra 60 gün tekrar girmediniz. tekrar girmek istediğinizde sizden kullanıcı adı şifre isteyecektir. çünkü refresh token'ın da süresi dolmuştur. şu sıralar kullanıcı doğrulama ve yetkilendirmede en çok kullanılan token yapısı jwt(json web tokens)'dir.
içerisinde kullanıcıyla ilgili bilgiler, şifreleme algoritması, token'ın süresi gibi bilgiler barındırır. bu bilgiler şifrelenir şifreleme algoritması ve anahtar key gibi bilgileri developer belirler. jwt de 3 bölümden oluşur: header, payload ve signature. jwt'nin header'ında tipi yani jwt ve şifreleme algoritması -öneğin sha256- bulunur. payload'ında claimler yani email, id, roller olur. imza kısmında ise bu iki veri şifreleme algoritması ve gizli anahtar ile birlikte imzalanır. bu şekilde bütün bir token açığa çıkar. bu şekilde token'ı anahtar bilgisiyle şifreleyerek, çalınsa bile içeriğinin kolayca çözülememesi amaçlanır. token'la yetkilendirme işlemi de yapılır. bunun için az önce bahsettiğim payload yani kullanıcı bilgileri tutulan kısma kullanıcının rolü eklenir. mesela admin bilgisi içeren token'la ilgili sistemde kullanıcı admin'in erişeceği her yere erişebilir. ancak sadece kullanıcı(user) rolü içeriyorsa kullanıcının yetkili olduğu alanlar dışındaki yerlere elindeki token'la erişemez.
ancak siteden çıkar çıkmaz o kayıtlı hesabınızın yok olması yani her girişte kullanıcı adı ve şifre istenmesi kullanıcı deneyimi açısından epey kötüdür. bu gibi durumların yaşanmaması için token'ları ve cookie'leri birlikte kullanırız. token şifrelenmiş bir veridir diyebiliriz. bu örnekte kullanıcı bazlı bilgileri de içerir. içerisinde sistemde neye ihtiyaç varsa(örneğin kullanıcı id'si, email vs) bu bilgiler bulunur. siz beni hatırla derseniz bu bilgiler de bir cookie içerisine kaydolur.
cookie kısaca kullanıcının bilgisayarında tutulan -sistemin server'ında değil- her seferinde yeniden aynı bilgileri girmesin diye tutulan veridir. bilgisayarınızdan ilgili cookie'yi silerseniz siteye giriş işleminde kullanıcı adı ve şifreniz tekrar sorulacaktır. token'a geri dönersek bunun güvenlik açısından belirli bir sürede tutulması gerekir. bu saati geliştirici belirler ancak genelde bu 1 saattir. peki her 1 saat sonunda site bizi tekrar giriş ekranına mı yönlendirecek derseniz burada da refresh token denen yapı devreye giriyor.
refresh token içerisinde şifrelenmiş kimi bilgiler tutan token'ın süresi dolduğunda refresh token bilgisi istenenle uyuşuyorsa yeni access token -yani siteye giriş yapmanızı sağlayacak token- üretilmesini sağlayan yapıdır. yani güvenlik sebebiyle bu jetonunuz 1 saatliğine veriliyor. ancak her saat başı yeni access token üretmek için kullanıcıyı giriş ekranına göndermek yerine refresh token'a bakılarak yenisi üretiliyor. refresh token da süresiz değildir. mesela bir siteye giriş yaptınız ama sonra 60 gün tekrar girmediniz. tekrar girmek istediğinizde sizden kullanıcı adı şifre isteyecektir. çünkü refresh token'ın da süresi dolmuştur. şu sıralar kullanıcı doğrulama ve yetkilendirmede en çok kullanılan token yapısı jwt(json web tokens)'dir.
içerisinde kullanıcıyla ilgili bilgiler, şifreleme algoritması, token'ın süresi gibi bilgiler barındırır. bu bilgiler şifrelenir şifreleme algoritması ve anahtar key gibi bilgileri developer belirler. jwt de 3 bölümden oluşur: header, payload ve signature. jwt'nin header'ında tipi yani jwt ve şifreleme algoritması -öneğin sha256- bulunur. payload'ında claimler yani email, id, roller olur. imza kısmında ise bu iki veri şifreleme algoritması ve gizli anahtar ile birlikte imzalanır. bu şekilde bütün bir token açığa çıkar. bu şekilde token'ı anahtar bilgisiyle şifreleyerek, çalınsa bile içeriğinin kolayca çözülememesi amaçlanır. token'la yetkilendirme işlemi de yapılır. bunun için az önce bahsettiğim payload yani kullanıcı bilgileri tutulan kısma kullanıcının rolü eklenir. mesela admin bilgisi içeren token'la ilgili sistemde kullanıcı admin'in erişeceği her yere erişebilir. ancak sadece kullanıcı(user) rolü içeriyorsa kullanıcının yetkili olduğu alanlar dışındaki yerlere elindeki token'la erişemez.
devamını gör...
2.
allah alsın tokeni. önce ağzımıza bir parmak bal çaldı kripto üzerinden sonra hayallerimizi. zarar etmedik ama hayal kırıklığı çok kötü birşeymiş.
devamını gör...
"token" ile benzer başlıklar
shiba token
14