2015-06-26 7 views
5

संपादित करेंमैं एक शिबबोलेथ 3 पहचान प्रदाता कैसे स्थापित करूं?

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

(संपादन के अंत)

मैं एक Shibboleth 3 IdP सेट करने का प्रयास किया गया है (हमारे एप्लिकेशन SAML का समर्थन करता है, और हम एक परीक्षण वातावरण की जरूरत है)।

मेरा लक्ष्य एक साधारण वातावरण है जो प्रमाणीकरण प्रदान करने के लिए हमारी एलडीएपी निर्देशिका से पूछताछ करता है।

मैंने शिबबोलेथ आईडीपी 3 स्थापित किया है, और ऐसा लगता है कि यह सही ढंग से एडी से पूछताछ करता है, लेकिन मुझे यह अनुरोध करने में वास्तव में कठिन समय हो रहा है कि मैं विशेषताओं (यूआईडी, पहला नाम, अंतिम नाम, ईमेल) वापस लौटा रहा हूं।

मुझे पूरा यकीन है कि मेरी समस्या मेरी विशेषता-resolver.xml और विशेषता-filter.xml फ़ाइलों में है, लेकिन मुझे यह काम करने में कोई भाग्य नहीं है।

असल में क्या होता है कि मैं सफलतापूर्वक लॉग इन करता हूं (जहां तक ​​शिबबोलेथ का संबंध है), लेकिन जब यह मेरे आवेदन पर सम्मिलन वापस लेता है, तो कोई भी विशेषता नहीं होती है।

मैंने उन्हें विशेषता-resolver.xml और विशेषता-filter.xml में जोड़ने का प्रयास किया है, लेकिन फिर मुझे idp-warn.log (नीचे) में त्रुटियां मिलती हैं। यह एक क्रेडेंशियल त्रुटि है। मुझे पूरा यकीन है कि उपयोगकर्ता नाम पासवर्ड सही है, क्योंकि shibboleth मुझे प्रमाणीकृत करने में सक्षम है (अगर यह गलत था, तो यह असफल होगा, है ना?) तो मेरे सेटअप के साथ कुछ और गलत होना चाहिए।

मैंने एसरेशन नेम आइडेंटिफ़ायर में उपयोगकर्ता नाम वापस करने का भी प्रयास किया है, लेकिन मुझे लगता है कि मुझे वापस मिलना एक बेस -64 एन्कोडेड स्ट्रिंग है (डीकोडिंग यह बाइट उत्पन्न करता है जो स्ट्रिंग पर वापस डीकोड नहीं करता है, इसलिए मैं हूं सुनिश्चित नहीं है कि वहां क्या है)।

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

उत्तर

0

एक पूर्ण उत्तर नहीं है और मैंने शिबबोलेथ के साथ काम नहीं किया है, लेकिन हमने एसएएमएल की स्थापना करते समय नाम आईडी के साथ एक ही समस्या में भाग लिया है।

मेरा मानना ​​है कि यह पेज स्थापित करने के लिए जो नाम आईडी शिबोलेथ भेज देंगे गर्म पता चलता है: https://wiki.shibboleth.net/confluence/display/SHIB2/ResolverSAML2NameIDAttributeDefinition

और इस उत्तर का वर्णन अलग नाम योजनाओं क्या मतलब https://stackoverflow.com/a/21682789/143585

हम क्या किया है, हालांकि, के लिए saml config में है SAMLAuthenticationProvider हम userDetails जोड़ा गया है और वहाँ कोड का एक सुंदर टुकड़ा है कि मैं पर बहुत गर्व है था:

@Override 
public Object loadUserBySAML(SAMLCredential credential) throws UsernameNotFoundException { 
    try { 
     String login = credential.getAttributeByName("login").getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); 
     return loadUserByUsername(login); 
    } catch (Exception e) { 
     LOG.error("could not get login name from saml credential", e); 
     throw new UsernameNotFoundException("Could not load user", e); 
    } 
} 

आईडीपी सामान एक 3 पार्टी द्वारा संचालित किया गया तो मुझे लगता है कि यह है कि वे कौन adde था नमूना प्रतिक्रिया के लिए यह कस्टम विशेषता डी। मुझे लगता है कि आप ऐसा करने के लिए शिबबोलेथ को कॉन्फ़िगर कर सकते हैं।

+0

हाय डेनिस: आपकी प्रतिक्रिया के लिए धन्यवाद। आपके द्वारा लिंक किया गया शिबबोले विकी v2 के लिए था। दुर्भाग्यवश, उन्होंने संस्करण 3 में कॉन्फ़िगरेशन सिस्टम को अद्यतन किया।यह अब बहुत जटिल है, और विशेषता-रिजॉल्वर में निर्दिष्ट करने का v2 तरीका विरासत माना जाता है। शिबबोलेथ उपयोगकर्ता मंचों पर कुछ लोगों की मदद से मैंने अंततः काम करने और इसे काम करने के लिए प्रबंधन किया। – JMarsch

+1

@JMarsch, हाँ, हमारे ऐप में सैम लॉगिन लागू करना उत्साहजनक था। मुझे नहीं पता कि सबकुछ इतना जटिल क्यों होना चाहिए। –

+0

मुझे इसके बारे में बताएं - यह भयानक था। – JMarsch

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