Webmaster ve Yazılım Geliştiriciler
Başka Sayfadan Login Nasıl Yaptırabilirim?
Başka Sayfadan Login Nasıl Yaptırabilirim?
-
Bir tane rest-api var. Bir tane websitesi var.
Kullanıcı login oluyor, standart herşey dönüyor burada. Bir tane jwt token döndürüyorum, onu session ya da global bir değişkene atayıp tüm işleri oradan hallediyor.
Şimdi şöyle bir şey var. Bambaşka 3. bir siteden sisteme rest-api üzerinden kullanıcı bilgileriyle login olmak. Sonrasında da benim siteme gidince login olmuş haliyle açılması gerekiyor.
Nasıl bir yol izlemem lazım?
Bu 3. siteye bir tane route (türkçesi gelmedi aklıma) oluştursam. Desemki şuraya istek at, sonrasında da eğer kullanıcı bilgileri doğru ise bir tane random-key yaratıp onu veritabanına yazsam, sonra bu istek atan adama da link geri döndürsem o oluşturduğum random key ile birlikte; kullanıcı benim siteme geldiğinde eğer parametrelerde key diye bir şey varsa ve bu veritabanımdan bir değerle eşleşiyorsa otomatik login ettirsem, olur mu?
Yoksa çok mu saçma?
Kafam karışık :/
ip'den açık oturumlardan mı takip ediyim yoksa?
örn; https://www.example.com/login?key=patates
Sorum süper aptalca da olabilir, beynim yandı. Çok saçma bir şey de sormuş olabilirim. Affedin.
neverland tarafından 30/Haz/20 02:47 tarihinde düzenlenmiştir -
sso ile yapılır diye düşünüyorum ama cooike yada sepet tarzı birşey varsa yada iddaa olayları gibi kupon vs sıkıntı cıkabilir diye düşünüyorum detaylı anlatsan ornek site varsa? özel pmden de gönderebilirsin tam olarak anlamadım yapmak istediğini..
-
Hocam JWT token'i web sitesine insert ettikten sonra senin bütün derdin bittiyor dogru anlıyorum dimi ?
2 tane farkli seviyede öneri de bulunayım. 3. site den normal login talebi gelsin ve login durumuna göre token'in dönsün.
1. https://xxx.com/setJWT?token=xxxxxx.tttttttt.tttsdfs seklinde direk query den token'i gonder. setJWT de sanki senin sitendne login olunmuş gibi token'i insert edersin. sonrasında akış normal devam eder.
2. önerim ise aslında teknik olarak 1. ile aynı ama JWT token'i 3. parti insanlar ile paylaşmak istemediğin case için 3. parti işlem yapacak yerler için özel bir login fonksionu yaz. RSA gibi Pub Priv key pairi ile calisan. JWT token'i RSA ile encrypt edip 3. parti işlem yapan yerlere push etsin. bu sayede decode edip içeriğini de okuyamasınlar. -
cybermole bunu yazdı
sso ile yapılır diye düşünüyorum ama cooike yada sepet tarzı birşey varsa yada iddaa olayları gibi kupon vs sıkıntı cıkabilir diye düşünüyorum detaylı anlatsan ornek site varsa? özel pmden de gönderebilirsin tam olarak anlamadım yapmak istediğini..
hocam sana pm attım.
@rakkoc ikinci maddeyi php'de nasıl yapabilirim? Veritabanına bu oluşturduğum JWT token ile rasgele bir Key oluşturup kaydetsem. Sonra o 1.maddedeki gibi istek geldiğinde siteden onu veritabanından kontrol ettirsem key varsa token'ı döndürüp otomatik login ettirsem işe yarar mı?
Ya da direk 1.maddedeki gibi token'ı atsam ne zararı olabilir? Yani sonuçta login olabiliyorsa o token'ı benden alabiliyor her türlü?
-
1- Bir adet Priv8 Key kullanacağın Encrypt Decrypt Fonksiyonları
2- Bir adet bilgi kontrol fonksiyonu:Karşı site istek attığında bilgileri kontrol edeceksin doğru ise JWT Token ya da herhangi bir veriyi üsteki fonksiyonla encrypt edip link oluşturacaksın. Bu bilgilerin ham halleri ile sql e yazdır.
3- Karşı taraf linke tıkladığında gelen veriyi priv8 key ile decrypt edip sql de kontrolünü yap veri eşleşiyorsa login olur.
4- Ref bilgisini kontrol edebilirsin yada direk o linke erişimi engelleyerek de ekstra önlem alabilirsin.
-
trooper bunu yazdı
1- Bir adet Priv8 Key kullanacağın Encrypt Decrypt Fonksiyonları
2- Bir adet bilgi kontrol fonksiyonu:Karşı site istek attığında bilgileri kontrol edeceksin doğru ise JWT Token ya da herhangi bir veriyi üsteki fonksiyonla encrypt edip link oluşturacaksın. Bu bilgilerin ham halleri ile sql e yazdır.
3- Karşı taraf linke tıkladığında gelen veriyi priv8 key ile decrypt edip sql de kontrolünü yap veri eşleşiyorsa login olur.
4- Ref bilgisini kontrol edebilirsin yada direk o linke erişimi engelleyerek de ekstra önlem alabilirsin.
Teşekkür ederim hocam,
encryption için genel kullanılan sağlıklı bir yol var mıdır? Bir websitesi falan, oradan baksam. Yoksa kafama göre encrypt ediyim mi?
-
neverland bunu yazdıtrooper bunu yazdı
1- Bir adet Priv8 Key kullanacağın Encrypt Decrypt Fonksiyonları
2- Bir adet bilgi kontrol fonksiyonu:Karşı site istek attığında bilgileri kontrol edeceksin doğru ise JWT Token ya da herhangi bir veriyi üsteki fonksiyonla encrypt edip link oluşturacaksın. Bu bilgilerin ham halleri ile sql e yazdır.
3- Karşı taraf linke tıkladığında gelen veriyi priv8 key ile decrypt edip sql de kontrolünü yap veri eşleşiyorsa login olur.
4- Ref bilgisini kontrol edebilirsin yada direk o linke erişimi engelleyerek de ekstra önlem alabilirsin.
Teşekkür ederim hocam,
encryption için genel kullanılan sağlıklı bir yol var mıdır? Bir websitesi falan, oradan baksam. Yoksa kafama göre encrypt ediyim mi?
Burada asıl amaç linke gömdüğün encrypt veriyi birisi decrypt edip başka kullanıcı ile erişim sağlayamasın.sen base64_encode($userid) şeklinde bir veri oluşturdun. sonra bunu gören kişi encode ettiğin numeric veriyi artırıp azaltarak login izni olan başka bir kullanıcı bulabilir. Burda encrypt etmekteki amaç priv8 key ile decryption sağlamak nette örnekler mevcut bakayım eski projelerde dosya gizlemek için kullandığım bir fonksiyon vardı bulursam yollarım.
-
neverland bunu yazdıcybermole bunu yazdı
sso ile yapılır diye düşünüyorum ama cooike yada sepet tarzı birşey varsa yada iddaa olayları gibi kupon vs sıkıntı cıkabilir diye düşünüyorum detaylı anlatsan ornek site varsa? özel pmden de gönderebilirsin tam olarak anlamadım yapmak istediğini..
hocam sana pm attım.
@rakkoc ikinci maddeyi php'de nasıl yapabilirim? Veritabanına bu oluşturduğum JWT token ile rasgele bir Key oluşturup kaydetsem. Sonra o 1.maddedeki gibi istek geldiğinde siteden onu veritabanından kontrol ettirsem key varsa token'ı döndürüp otomatik login ettirsem işe yarar mı?
Ya da direk 1.maddedeki gibi token'ı atsam ne zararı olabilir? Yani sonuçta login olabiliyorsa o token'ı benden alabiliyor her türlü?
Hocam Rakkoc'un 2. maddeden bahsettiği CSRF token. Sen gerçekten benim sunucudan istekte mi bulundun bunu doğruluyor. Onunla birlikte JWT kullanıyorsun.
-
trooper bunu yazdıneverland bunu yazdıtrooper bunu yazdı
1- Bir adet Priv8 Key kullanacağın Encrypt Decrypt Fonksiyonları
2- Bir adet bilgi kontrol fonksiyonu:Karşı site istek attığında bilgileri kontrol edeceksin doğru ise JWT Token ya da herhangi bir veriyi üsteki fonksiyonla encrypt edip link oluşturacaksın. Bu bilgilerin ham halleri ile sql e yazdır.
3- Karşı taraf linke tıkladığında gelen veriyi priv8 key ile decrypt edip sql de kontrolünü yap veri eşleşiyorsa login olur.
4- Ref bilgisini kontrol edebilirsin yada direk o linke erişimi engelleyerek de ekstra önlem alabilirsin.
Teşekkür ederim hocam,
encryption için genel kullanılan sağlıklı bir yol var mıdır? Bir websitesi falan, oradan baksam. Yoksa kafama göre encrypt ediyim mi?
Burada asıl amaç linke gömdüğün encrypt veriyi birisi decrypt edip başka kullanıcı ile erişim sağlayamasın.sen base64_encode($userid) şeklinde bir veri oluşturdun. sonra bunu gören kişi encode ettiğin numeric veriyi artırıp azaltarak login izni olan başka bir kullanıcı bulabilir. Burda encrypt etmekteki amaç priv8 key ile decryption sağlamak nette örnekler mevcut bakayım eski projelerde dosya gizlemek için kullandığım bir fonksiyon vardı bulursam yollarım.
Teşekkürler hocam. Topluca yardımcı oldunuz, hepinizin yazılarına sağlık.
Kafamda oturdu, toparlayıp yazarım sağolun.