2016-05-11 47 views
6

OpenAM sunucusuyla kimlik doğrulamayı yönetmek için SAML gerektiren bir uygulama üzerinde çalışıyorum. AslındaAngularjs ve SAML, başlangıç ​​

, ben OAuth2 örtülü hibe akışıyla Satellizer kullanmak ve ben şu var: tarayıcıda

  • Açık angularjs app üçüncü parti giriş butonuna
  • tıklayın
  • bir yeni pencere hover varolan bir (ng app ile) bana açık olduğunu soran benim kimlik bilgileri
  • Onları doldurun ve doğrulayın
  • Sayfalar kendi sayfalarını yaptı ting belirteci)
  • Angularjs uygulaması pencereden jetonu alır (nasıl mümkün olur?)
  • Uygulamamı OAuth2 taşıyıcı/jwt belirteciyle kullanabilirim.

SAML kullanarak aynı şekilde çalışan bir şeylere ihtiyacım var. Gerçek şu ki tamamen kayboldum ve arka tarafımı kullanarak SAML sunucusuna giriş yapmam gerektiği görünüyor ...

Bu durumu gerçekten sevmiyorum ve istemci kullanarak daha iyi bir şey olup olmadığını bilmem gerekiyor yan uygulama.

SAML ile istemci tarafında uygulama ile "olağan" kimlik doğrulama akışı nedir? JavaScript ile istemci tarafı uygulamalar kavramı henüz icat edilmedi zamanki yardımın için

Teşekkür

cevap

3

SAML2 bir anda tasarlandı.

  1. Kullanıcı JS uygulamasında sırayla günlük başlar:

    yaygın bir yöntem, kullanıcıların kimliğini doğrulamak için bir ara OpenID'yi iletişime/SAML2 vekil/köprü (örneğin IdentityServer3 + Kentor.AuthServices.Owin) kullanmaktır.

  2. Kullanıcı, IdentityServer3'e yeniden yönlendirildi (OpenID Connect akışının bir parçası).
  3. Kullanıcı, SAML2 Idp'ye (SAML2P'nin bir parçası) yönlendirildi.
  4. Kullanıcı kimliği SAML2 Idp.
  5. Kullanıcı, IdentityServer3'e (SAML2P'nin bir parçası) yeniden yönlendirilmiştir.
  6. Kullanıcı, JS uygulamasına (OpenID Connect akışının bir parçası) yeniden yönlendirilir.

Bu, kullanıcının harici bir Idp ile doğrulanmasını sağlamak için mükemmel çalışır. Arka uç hizmetleri gibi kaynaklarınız varsa, bu çağrılar genellikle 6. adımda verilen bir OAuth2 taşıyıcı belirteci aracılığıyla yetkilendirilir.

Arka uç API'niz bir taşıyıcı belirteci yerine bir SAML iddiası bekliyorsa, Ancak yollar.