2 sitesinde Kimlik Doğrulama ve Oturum

2 Cevap php

Example.com ve exampletwo.com: ben 2 site var

Ben istiyorum example.com bir kullanıcı giriş sonra otomatik exampletwo.com Ayrıca doğrulandığında

How can I do that ? I use Django + Nginx on first website and Tornado framework + Tornado server on second website.

Teşekkürler ;)

.

P.S. Bu platformlar (Django veya Tornado veya Nginx) bilmiyorsanız, ben de bir genel PHP + Apache platformu için bir çözüm kabul ve sonra biraz araştırma yapacağım :)

2 Cevap

Ben kullanıcı kayıt işlemlerinin kodu example.com, hemen "bu eklenti anlamı (sertifikalara dayalı bunu doğrular, hangi tabii) exampletwo.com için https isteği göndermek olurdu Bu kimlik bilgileri ile kullanıcı ". Bu yaklaşım sürece sertifikaları almak ve göndermek HTTPS istekleri ve kimlik doğrulaması mümkün konum olarak herhangi iki web sunucuları / çerçeveler / diller için uygulanabilir gibi görünüyor.

Eğer sertifika kimlik doğrulaması yapamıyorsanız, siz (sürece iki site şifreleme için kullanılacak bir sırrı paylaşmak gibi) şifreli "bu kullanıcıyı eklemek" mesaj gönderebilirsiniz. Bu saldırıları yeniden karşı savunmasız olabilir, ama siz "bu kullanıcıyı eklemek" iletinin bir zaman damgası parçası yaparsanız, son derece muhtemelen yeterince bu yaklaşım uygulanabilir yapmak için, tekrar saldırıları için güvenlik açığının zaman penceresi kısıtlayabilirsiniz.

Eğer güvenli, iki site arasındaki sırlarını paylaşmak yapamıyorsanız, her şey kaybolur: hala açık anahtar encription kullanabilirsiniz. Gönderici alıcının açık anahtarı ile daha sonra, kendi özel anahtarı ile (tabii damgası dahil) "Bu kullanıcının mesaj ekle" şifreler; alıcısı gönderenin açık anahtarı ile daha sonra, kendi özel anahtarı ile alır ne çözer. Biraz dağınık ve belki biraz yavaş, ama böyle zor kısıtlar altında o hala ;-) yapılabilir şaşırtıcı.

Sorun bir sitede başka çerezleri ayarlamak edemezler. Example.com üzerinde oturum açma kodu kullanıcının doğrulanmış, kullanıcı aslında exampletwo.com ziyaret ettiğinde üzerinden bu mesajı taşımak için bir çerez ayarlamak için hiçbir yolu olmadığını exampletwo.com anlatmak için bir sunucu-sunucu isteği yapmak için olsa bile.

İstemci sertifikaları bu yolu civarında, ama bu çift-auth sistemi genel değil, özellikle iyi bir için ise. Çoğu insan bazı garip isteği ('Bu sertifika eklemek ister misiniz?') Açılır ve çığlık tepelere kaçıp göreceksiniz.

Geçici çözüm example.com kullanıcı exampletwo.com bir şey yüklemek için neden olacak bir şey tükürmek var olduğunu. Bir görüntü, bir vb javascript arasında öbek .. ve isteği şifreli bir belirteç koymak (<img src="http://exampletwo.com/login.php?remoteauth=ENCRYPTEDTOKEN">). Sonra exampletwo belirteci şifresini çözebilir ve içeriği Tamam ise, ve uygun çerez seti ile görüntü (ya da ne olursa olsun transfer ediyorlar) göndermek.