Tek oturum açma için CAS protokolünü mü yoksa OAuth + ' ı mı kullanacağımı merak ediyorum .
Örnek Senaryo:
- Bir Kullanıcı korumalı bir kaynağa erişmeye çalışır, ancak kimliği doğrulanmaz.
- Uygulama kullanıcıyı SSO sunucusuna yönlendirir.
- Beeing kimlik doğrulaması yaptığında kullanıcı TOA sunucusundan bir token alır.
- TOA, orijinal uygulamaya yönlendirir.
- Özgün uygulama, belirteci TOA sunucusuna karşı denetler.
- Belirteç uygunsa, erişime izin verilir ve uygulama kullanıcı kimliğini bilir.
- Kullanıcı oturumu kapatır ve tüm bağlı uygulamadan aynı anda oturumu kapatır (tek çıkış).
Anladığım kadarıyla CAS tam olarak ne için icat edildi. CAS istemcileri, kimlik doğrulama hizmetini kullanmak için CAS protokolünü uygulamalıdır. Şimdi istemci (tüketici) sitesinde CAS veya OAuth kullanmayı merak ediyorum. OAuth CAS'ın bu kısmının yerine mi geçiyor? Yeni fiili bir standart olarak OAuth tercih edilmeli midir? CAS'ın kullanıcı adı / şifre, OpenID, TLS sertifikaları gibi farklı yöntemleri destekleyen kimlik doğrulama kısmı için kullanımı kolay (Sun OpenSSO! Değil) değişimi var mı?
Bağlam:
- Farklı uygulamalar TOA sunucusunun kimlik doğrulamasına güvenmeli ve oturum benzeri bir şey kullanmalıdır.
- Uygulamalar GUI web uygulamaları veya (REST) serileri olabilir.
- TOA sunucusuna, merkezi kullanıcı bilgi deposundan roller, e-posta ve benzeri gibi kullanıcı hakkında daha fazla bilgi almak için gereken bir kullanıcı kimliği sağlanmalıdır.
- Tek Oturum Açma mümkün olmalıdır.
- Çoğu istemci Java veya PHP ile yazılmıştır.
Az önce OAuth halefi olabilecek WRAP'ı keşfettim . Microsoft, Google ve Yahoo tarafından belirlenen yeni bir protokoldür.
ek
OAuth'un SSO'yu uygulamak için bile kullanılabileceği için kimlik doğrulama için tasarlanmadığını, yalnızca OpenID gibi bir TOA hizmetiyle birlikte öğrendiğini öğrendim.
OpenID bana "yeni CAS" gibi geliyor. CAS'da OpenID'nin bazı özellikleri vardır (tek çıkış gibi), ancak belirli bir senaryoda eksik parçaları eklemek zor olmamalıdır. Bence OpenID geniş kabul görüyor ve OpenID'yi uygulamalara veya uygulama sunucularına entegre etmek daha iyi. CAS'ın OpenID'yi de desteklediğini biliyorum, ancak CAS'ın OpenID ile dağıtılabilir olduğunu düşünüyorum.