SORU
9 Ocak 2010, CUMARTESİ


CAS veya OAuth ile SSO?

Eğer çoklu oturum açma için CAS protokol veya OAuth bazı kimlik doğrulama sağlayıcısı kullanmam gerektiğini merak ediyorum.

Örnek Senaryo:

  1. Bir Kullanıcı korunan bir kaynağa erişmeye çalışır, ama doğrulanmış değil.
  2. Uygulama SSO sunucusu için Kullanıcı yönlendirir.
  3. Eğer olmanla bir kimliği doğrulanmış kullanıcı SSO simgesi bir server olur.
  4. SSO asıl uygulamaya yönlendirir.
  5. Orijinal uygulama SSO sunucusuna karşı token denetler.
  6. Eğer token Tamam, erişim izni verilecek ve uygulama ıd bilir.
  7. Kullanıcı bir çıkış yapmalı ve aynı anda tüm bağlı uygulama (tek çıkış) giriş yapmış olsa gerçekleştirir.

Tam olarak ne oldu CAS için ne icat ettin bunu anladığım kadarıyla. CAS müşterilerine CAS protokolü uygulamak için kimlik doğrulama hizmeti kullanmak zorunda. Şimdi hakkında (tüketici) istemci sitesinde CAS veya OAuth kullanmak merak ediyorum. OAuth CAS bu bölümü için bir yedek mi? Yeni olarak OAuth de-facto standart tercih edilmelidir? Var kullanımı kolay (Sun OpenSSO değil!) kimlik doğrulama için yedek CAS farklı yöntemleri destekleyici bir parçası gibi kullanıcı adı/parola, Openıd, TLS certifactes ...?

İçerik:

  • Farklı uygulamalar SSO Sunucu Kimlik Doğrulaması bağlı kalmalı ve oturum gibi bir şey kullanmak gerekir.
  • GUI Uygulamaları, web uygulamaları veya (DİNLENMESİ) gerektiği gibi olabilir.
  • SSO sunucu rolleri gibi kullanıcı hakkında daha fazla bilgi almak için gerekli olan kullanıcı kimliği, e-posta ve merkez kullanıcı bilgi deposundan temin edilmelidir.
  • Tek çıkış mümkün olmalıdır.
  • Müşterilerin çoğu, Java ya da PHP ile yazılmış.

Sadece OAuth halefi haline gelebilir discovered WRAP koydum. Yeni bir protokolü, Microsoft, Google ve Yahoo tarafından belirtilmiştir.

Ek

OAuth kimlik doğrulaması için tasarlanmış olduğunu öğrendim SSO, ama sadece birlikte uygulamak gibi Openıd SSO hizmeti ile kullanılabilir.

Openıd benim gibi "yeni CAS". CAS Openıd özlüyor bazı özellikleri vardır. (video kayıt), ama sabit belirli bir senaryoda eksik parçalar eklemek için olmamalı. Openıd geniş kabul etti ve daha iyi uygulamalar veya uygulama sunucuları içine Openıd entegre olduğunu düşünüyorum. CAS da Openıd destekleyen biliyorum, ama CAS Openıd ile gereksiz olduğunu düşünüyorum.

CEVAP
5 Temmuz 2010, PAZARTESİ


Openıd bir 'halef' veya 'uygulama niyet ve CAS için, onlar farklıdır. yedek

CASmerkezileştirirkimlik doğrulaması. Eğer tüm (muhtemelen iç) uygulamaları, kullanıcıların tek bir sunucu (tüm uygulamalar tek bir CAS server üzerine yapılandırılmış) giriş için sormak istiyorsan kullan.

Openıddecentralizeskimlik doğrulaması. Eğer uygulamanızın kullanıcılar istedikleri için giriş (kullanıcı Openıd sunucusu adresi - aslında sağlar, 'kullanıcı adı' sunucu URL). kabul etmek istiyorsan kullan

Yukarıdakilerin hiçbiri yetkilendirme (uzantıları ve/veya özelleştirme olmadan) kolu.

OAuth yetkilendirme kolları, ama geleneksel bir alternatifi değildir 'USER_ROLES tablo (kullanıcı erişimi)'. Üçüncü şahıslar için yetki işler.

Örneğin, uygulamanız Twitter ile entegre etmek istiyorum: bir kullanıcı kendi veri güncelleme veya yeni içerik göndermek zaman otomatik olarak tweet için izin verebilir. Şifresini kullanıcı için belli ki güvensiz olan) almadan bir kullanıcı adına üçüncü taraf bir hizmet veya kaynağa erişmek için istiyorsun. Uygulamaya erişmek için Twitter sorarkullanıcıizin belgesi (Twitter üzerinden), ve daha sonra uygulama erişimi olabilir.

Yani, OAuth hakkında Tek Oturum açma (ne de CAS protokolü yerine). Hakkında değildirsanakullanıcı erişimi ne kontrol. Bu izin hakkındakullanıcınasıl kontrolonlarınkaynaklar üçüncü şahıslar tarafından erişilebilir. İki çok farklı kullanım durumları.

Tarif ettiğin bağlama, CAS muhtemelen doğru seçimdir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Engadget

    Engadget

    18 EYLÜL 2006
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011
  • WhtButterflyLiz

    WhtButterfly

    14 NİSAN 2008