2016-03-08 34 views
5

yılında Özellikleri:SAML İsteği ben tür çalışmak gerekiyordu nasıl temel SAML kimlik anlama AuthnRequest

Kullanıcı istek kaynak SP de
SP IDP kullanıcının kimliğini doğrular ve bazı Userid
SP geri gönderir
IDP'nize auth isteği gönderir Userid ile ek ayrıntılar için IDP sorgu bağlıyor gönderir
IDP geri gönderir nitelikleri
SP,

Sorunum kullanıcı kaynak yönetmek herhangi bir şekilde baypas Attribut size yapabilirsiniz verir eQuery. Gluu/Shibboleth sunucumda SAML 2.0 isteğinde bulunduğumda, givenName (ad) ve sn (soyadı). Zaten inum kullanıcı kimliği ve sadece AuthnRequest içinde e-posta talep edebilir miyim? Ben dönene

<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="MyPrefix1457456412304" Version="2.0" IssueInstant="2016-03-08T17:00:12Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"> 
    <saml:Issuer>me.com</saml:Issuer> 
</samlp:AuthnRequest> 

İsteği böyle bir şeydir:

Benim isteği oldukça basittir

<?xml version="1.0" encoding="UTF-8"?> 
<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="_bff09cf745ea5722aac3f3ec57c0ecf3" IssueInstant="2016-03-08T17:01:06.140Z" Version="2.0"> 
    <saml2:Issuer .... 
    <saml2:AttributeStatement> 
     <saml2:Attribute FriendlyName="sn" Name="urn:oid:2.5.4.4" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> 
      <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">User</saml2:AttributeValue> 
     </saml2:Attribute> 
     <saml2:Attribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> 
      <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Admin</saml2:AttributeValue> 
     </saml2:Attribute> 
    </saml2:AttributeStatement> 
</saml2:Assertion> 

Ben spec ilgili kısmını okumak ve sunucu söylemek gibi görünüyor Gerçekten istediği her şeyi (ve kaç özniteliğin) geri verebilir? Yine, sorum şu ki, SAML Gluu/Shibboleth sunucusunu, AuthnRequest'un bir parçası olarak belirli öznitelikleri geri vermek için zorlayabilir miyim.

cevap

2

İstenen öznitelikleri, IdP'de Güven İlişkilerinizdeki yayımlanan özniteliklere eklemeniz gerekir. Afaik, özellikle öznitelikleri talep etmenin bir yolu yoktur.

+0

Senden nefret ediyorum ..... – jn1kk

+0

@Mike git good. – jn1kk

3

Sadece biraz daha fazla ayrıntı sağlamak için, meta verilerinizi IdP'ye gönderdiğinizde SP olarak ek özellik isteme zamanı. Bu meta veriler, ACS uç noktasını, AuthnRequests ile imzalanacak kamu sertifikasını, eşinizin şifrelemesini istediğiniz sertifikayı, istediğiniz öznitelikleri, benzersiz varlık kimliğinizi vb. Içerecek şekilde hizmetinizi açıklar. Hizmetinizin gereksinim duyduğunu belirledikten sonra, bu meta verilerin değişmesi gerekmez - HERHANGİ bir iş ortağı için. Bunu, birlikte çalıştığınız herkese gönderebilirsiniz.

İş ortağınız bu meta verileri aldıktan sonra, içe aktarır ve kimlik depolarından bilgi ile istediğiniz özniteliklerini yerine getirir, imzalama ve şifrelemeyi vb. Yapılandırabilir. Her şey bittiğinde meta verilerini size gönderir. onların protokol uç noktaları (AuthnRequests, vb. göndermek için), size imzalamak, size gönderdikleri nitelikleri doğrulama doğrulayabilirsiniz sertifika (bunlar sizin ile tutulması gereken konuşmalara göre değişebilir) iş ortağı vb.

Bu meta verileri alıp sisteminize aktarın ve gerekirse bağlantılarınızı uygulamalarınıza göre oluşturun.