• 14-03-2019, 06:25:05
    #1
    NodeJS ve Socket IO Auth mantığı hakkında değerli bilgilerinizi alabilir miyim?




    Client ile Sunucu arasında iletişim sağlandıktan sonra node sunucusu tarafından tekrar Başka bir sunucuya verileri POST edip veritabanından json çıktısı ile veri alıp tekrar client'e veri gönderiyor. NodeJS MYSQL Eklentisini kullanmak istemedim güvenlik durumundan sebep.




    Asıl sorum şu şekilde. Client ile Node Sunucusu arasında bağlantı sağlarken kullanıcıyı doğrulamak istiyorum.




    Codeigniter ile kullanıcı id'sini blowfish ile şifreleyip Node Sunucusuna gönderiyorum.




    Node Sunucusu bu şifrelenmiş kullanıcı id'sini alıp veritabanı sunucusuna göndererek şifreyi orada açıp kullanıcıyı doğruluyor.




    Eğer kullanıcı doğrulanırsa Node Sunucusu yapılması gereken işlemi yapmaya başlıyor.




    Doğrulanmaz ise işlemi durduruyor.




    Sizce bu doğru bir mantık mı? Alternatif ve daha güvenilir yollar var mıdır auth konusunda?




    https://www.npmjs.com/package/socketio-auth




    Şöyle bir auth sistemi var ama benim yaptığım ile aynı sanırım.




    Yardımcı olabilirseniz çok sevinirim teşekkürler.




    Not : Bu şekilde sanırım; Başka bir kullanıcı başka bir kullanıcının şifrelenmiş bir kullanıcı id'sini alıp kaynak kodlarından socket.io bağlantısı yapıldığı kısma yerleştirse sıkıntı büyük
  • 14-03-2019, 08:44:11
    #2
    her clientin id'si oluyodu yanlış hatırlamıyosam server tarafında connection eventinde yada veri aldığın eventte client id ye göre işlem yaptırsan işini görmüyor mu mesela X kullanıcısı giriş yaptı sisteme kullanıcı verilerini gönder server tarafında kullanıcı bilgileri ve client id olarak çerez kaydet sonrası veri alma / veri gönderme işlemlerinde çerezlerde sorgulama yapıp sonuca göre devam et?
  • 14-03-2019, 09:54:16
    #3
    hocam auth mantığı kurun ben hep öyle yapıyorum. Sizin mantığa benzer şekilde ilerliyor aslında. Kullanıcı giriş yaptığında bunu zaman ile şifreleyip sadece id değil timestamp de koyuyorum ki her auth farklı olsun veritabanına kaydediyorum. Daha sonra bütün işlemlerde o auth var mı diye bakıyorum varsa veritabanına gidip bu kimin diye bakıyorum kullanıcı varsa o auth a karşılık gelen işlem deavm yoksa auth geçersiz oluyor.