2016-03-23 13 views
0

Tam zamanlı geliştirme dünyasına adım atıyorum ve arka uçtan tamamen ayrılan uygulamayı geliştirmeye çalışıyorum (ön kısım, sunucu ve arka uçtan yayınlanıyor) java'dır.Güvenli dinlenme uygulaması (ayrı görünüm ve sunucu) + sosyal girişler

Şimdi, sorun - Uygulamamı güvenceye almak için nasıl yapmalıyım? Yük dengeleyicilerle bağlı birçok cepheye ve birçok arka uç örneğine sahip olmak istiyorum ve tüm durumu istemcide tutmak istiyorum, bu yüzden herhangi bir sorun olmadan başka bir arka uç sunucusuna geçebilir ve hiçbir şey olmadığından devam edebilirim.

Şu anda OAuth2 belirteçlerini kullanıyorum ancak kullanıcı tarafında çerezde tamamen saklanan güvenlik ve çalıntılarla ilgili endişelerim var. Ayrıca, uygulama (belli ki) bu simgeleri bir yere kaydeder, bu yüzden arka uç uygulamamın başka bir örneği belirteci kabul etmez. En iyi senaryoda, otomatik olarak yeni bir talepte bulunacak bazı mekanizmaları uygulayabilirim ve en kötü durumda tekrar giriş yapmak zorunda kalırım. Bunun olmasını istemiyorum. Ayrıca, burada sosyal kimlik ile ilgili bir sorunum var. Her şeyden önce, Google’ın önden işaretini alıyorum, ancak bir kullanıcıya geri vermek ve bir kullanıcı oluşturmak için büyük bir acı veriyorum, böyle bir kullanıcıyı oluşturmak ve kaydetmek için el ile bir sürü kod yazmak zorundayım. Ve yine bu çözümün güvenlik seviyesinden emin değilim.

Yani soru temelde - şu anda, istekleri arasında geçiş arka uç sunucusu ile ilgili herhangi bir sorun olmaz, tamamen ayrı ön ve arka uç olması gereken bir uygulamayı güvence altına almanın en iyi yolu nedir?

cevap

0

Müşteri'den çalınan jetonlarla ilgili olarak: bununla ilgili hiçbir şey yapamazsınız. Kendilerini korumak istemciye kalmış. Demek istediğim, bir hizmete erişmek için bir kullanıcı adı ve parola gerekiyorsa ve İstemci bir key-logger ile bulaşmışsa ve bir hacker bu kimlik bilgilerini çalıyorsa, sunucu tarafında bunu korumak için yapabileceğiniz hiçbir şey yoktur.

Çoklu arka plana ilişkin fikrinizle ilgili olarak, bu, birden çok uygulama sunucusu olan herhangi bir sistemin ortak bir özelliğidir. Örneğin, birden fazla web sunucunuz varsa ve herhangi bir sunucuya yönlendirilecek herhangi bir istek istiyorsanız. Bunun için paylaşılması gereken her türlü bilgiyi saklayan merkezi bir veri tabanına ihtiyacınız var. Açıkça daha yavaş, ama çok daha esnek.

İlgili konular