2016-03-08 10 views
5

में गुण मैं एक तरह से समझ सकते हैं कि बुनियादी SAML प्रमाणीकरण काम करने वाला: सपा परSAML अनुरोध AuthnRequest

उपयोगकर्ता अनुरोध संसाधन
सपा आईडीपी
आईडीपी उपयोगकर्ता प्रमाणित करता है और
सपा वापस भेजता है कुछ userId को प्रमाणन अनुरोध भेजता है भेजता userId के साथ अतिरिक्त जानकारी के लिए आईडीपी के लिए क्वेरी का श्रेय
आईडीपी वापस भेजता विशेषताओं
सपा उपयोगकर्ता संसाधन आप कर सकते हैं किसी भी तरह से बाईपास attribut देता है,

मेरे मुद्दा है eQuery। जब मैं अपने परीक्षण ग्लू/शिबबोलेथ सर्वर पर SAML 2.0 अनुरोध करता हूं, तो मुझे givenName (प्रथम नाम) और sn (अंतिम नाम) वापस मिल जाता है। क्या वैसे भी मैं inum उपयोगकर्ता आईडी और ईमेल को केवल AuthnRequest में अनुरोध कर सकता हूं?

मेरा अनुरोध बहुत सरल है:

<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> 

अनुरोध मैं वापस पाने के कुछ इस तरह है:

<?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> 

मैं कल्पना की प्रासंगिकता का पढ़ा है, और यह सर्वर कहने लगता जो कुछ भी वास्तव में चाहता है उसे वापस दे सकता है (और यह कितने गुण चाहता है)? फिर, मेरा सवाल यह है कि क्या मैं एसएएमएल ग्लू/शिबोबोलेथ सर्वर को ऑथनआरक्वेट के हिस्से के रूप में वापस विशिष्ट विशेषताओं को देने के लिए मजबूर कर सकता हूं।

उत्तर

2

आपको आईडीपी पर अपने ट्रस्ट रिलेशनशिप में जारी विशेषताओं में वांछित विशेषताओं को जोड़ने की आवश्यकता है। विशेष रूप से विशेषताओं का अनुरोध करने का कोई तरीका नहीं है।

+0

मुझे तुमसे नफरत है ..... – jn1kk

+0

@ माइक गिट अच्छा। – jn1kk

3

बस थोड़ी अधिक जानकारी प्रदान करने के लिए, एसपी के रूप में अतिरिक्त विशेषताओं का अनुरोध करने का समय है जब आप आईडीपी में अपना मेटाडेटा भेजते हैं। वह मेटाडाटा आपके सेवा का वर्णन करता है, जिसमें एसीएस एंडपॉइंट, सार्वजनिक प्रमाण पत्र है कि आपके ऑथन अनुरोधों पर हस्ताक्षर किए जाएंगे, वह प्रमाण पत्र जिसे आप अपने साथी को एन्क्रिप्ट करना चाहते हैं, आपके लिए आवश्यक विशेषताओं, आपकी अद्वितीय इकाई आईडी इत्यादि। अच्छी बात यह है कि एक बार जब आप यह निर्धारित कर लें कि आपकी सेवा की क्या ज़रूरत है, तो इस मेटाडाटा को किसी भी भागीदार के लिए बदलना नहीं है। आप इसे अपने साथ साझा करने वाले हर किसी को भेज सकते हैं।

एक बार अपने साथी इस मेटाडाटा को प्राप्त करता है, वे इसे आयात करते हैं, और विशेषताओं आप अपनी पहचान भंडार से बाहर जानकारी के साथ अनुरोध किया पूरा, हस्ताक्षर और एन्क्रिप्शन, आदि कॉन्फ़िगर एक बार सब कुछ किया जाता है कि वे आप के लिए उनके मेटाडाटा भेजने के लिए, जिसमें उनके प्रोटोकॉल एंडपॉइंट्स (जहां आपको AuthnRequests, आदि को भेजने की आवश्यकता है), वह प्रमाण पत्र जो उनके हस्ताक्षर को सत्यापित कर सकता है, वे आपके द्वारा भेजे जा रहे गुणों की सत्यापन (ये बदल सकते हैं, बातचीत के आधार पर जो आपको अपने साथ रखना चाहिए साझेदार) आदि

आपको यह मेटाडेटा मिलता है, और इसे अपने सिस्टम में आयात करें, और आवश्यकतानुसार अपने ऐप्स को कनेक्शन बनाएं।

संबंधित मुद्दे