2016-01-28 10 views
10

मेरे पास https://biz.dev.originsystems.co.za पर एक सेवा प्रदाता स्थापित है। मेरे पास http://stage.originsystems.co.za पर एक आईडीपी सेट है।SimpleSAMLphp राज्य जानकारी खोने

https://biz.dev.originsystems.co.za/simplesaml/module.php/core/authenticate.php पर उपकरण के साथ प्रमाणीकरण का परीक्षण करते समय, सब कुछ ठीक काम करता है। यह आवश्यक गुणों के साथ देव साइट पर वापस आता है और सभी खुश और खुश हैं।

हालांकि, जब मैं वास्तव में https://biz.dev.originsystems.co.za पर कोड में आईडीपी को हिट करने का प्रयास करता हूं, तो मुझे पृष्ठ में चरण लॉग पर रीडायरेक्ट किया जाता है लेकिन लॉग इन करने के बाद मुझे "राज्य जानकारी खो गई" त्रुटि मिलती है।

SimpleSAML_Error_NoState: NOSTATE 

Backtrace: 
2 /webdevroot/Updraft/web/external/System/SSO/simplesaml/lib/SimpleSAML/Auth/State.php:225 (SimpleSAML_Auth_State::loadState) 
1 /webdevroot/Updraft/web/external/System/SSO/simplesaml/modules/saml/www/sp/saml2-acs.php:63 (require) 
0 /webdevroot/Updraft/web/external/System/SSO/simplesaml/www/module.php:134 (N/A) 

मेरे द्वारा की गई सभी समस्या निवारण पेज मुझसे पूछा करने के लिए लेकिन स्थिति बनी रहती है: मैं निम्नलिखित डिबग जानकारी मिलती है।

मैंने ब्राउज़र पर देव उपकरण खोल दिए हैं और कुकी जानकारी देखी है। Biz.dev.originsystems.co.za के लिए कुकीज़ में एक SimpleAMLAuthToken शामिल है, इसलिए मुझे लगता है कि कुकीज़ काम कर रही हैं। कोड मैं IdP हिट करने के लिए उपयोग कर रहा हूँ है:

$as = new SimpleSAML_Auth_Simple("stage-sso-sp"); 
$as->requireAuth(); 
$attributes = $as->getAttributes(); 
print_r($attributes); 

अद्यतन:

यहाँ कुछ अधिक जानकारी है ...

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

जब मैं https://biz.stage.originsystems.co.za/simplesaml पर SimpleSAML टेस्ट प्रमाणीकरण सूत्रों का कहना है पृष्ठ पर जाने के मैं है निम्नलिखित कुकी मानों ...

Name          Value 
SimpleSAMLAuthToken      _a53569c0701dd02832532df14cf10cd0b2d9fcd6b6 
biz.stage.originsystems.co.za    10fc356e0bfbf707af5fa5854c378755 
ccof          RGN002 
xbrF          84aadc624fc51c0c9340d45645c08643 

SimpleSAMLAuthToken को छोड़कर सब कुछ हमारे आवेदन से है और होना चाहिए नहीं है SimpleSAML को प्रभावित करें। एक बार जब मुझे एसएसओ सर्किल पर रीडायरेक्ट किया जाता है और प्रमाणित किया जाता है तो मैं अपने SimpleSAML पेज पर वापस आ जाता हूं और ऑथ टोकन का अब _39679e07cb1911e08b2bff3580a9929faddd07e9b6 का मान है और सभी प्रासंगिक जानकारी सही तरीके से लौटा दी जाती है। लॉग फ़ाइल निम्न गतिविधि दिखाती है।

Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Received SAML2 Response from 'http://idp.ssocircle.com'. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] No certificate in message when validating against fingerprint. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Found 1 certificates in SAML2_Assertion 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Has 1 candidate keys for validation. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Validation with key #0 succeeded. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Filter config for http://idp.ssocircle.com->https://biz.stage.originsystems.co.za/simplesaml/module.php/saml/sp/metadata.php/default-sp: array ( 0 => sspmod_core_Auth_Process_LanguageAdaptor::__set_state(array( 'langattr' => 'preferredLanguage',  'priority' => 90, )),) 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Deleting state: '_742b094314383407864f56bccc6afd7de3dcb3211e' 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: doLogin("default-sp") 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: Valid session found with 'default-sp'. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Session: Valid session found with 'default-sp'. 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/status] 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/attributes] 
Feb 02 12:58:22 simplesamlphp DEBUG [7c4534ae0a] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/core/dictionaries/frontpage] 

अगर मैं https://biz.stage.originsystems.co.za?ccof=RGN002 में जाओ, मैं पुनः निर्देशित कर रहा हूँ के रूप में मैं एसएसओ सर्किल के लिए होने के लिए जहां मैं तो प्रमाणित की उम्मीद है। इस समय मेरे ऑथ टोकन का मूल्य _39679e07cb1911e08b2bff3580a9929faddd07e9b6 है। एक बार जब मैं प्रमाणित हो जाता हूं तो मुझे एक सरल एसएसएमएल त्रुटि पृष्ठ "राज्य सूचना खोया गया" और ऑथ टोकन अभी भी _39679e07cb1911e08b2bff3580a9929faddd07e9b6 पर निर्देशित किया गया है।

लॉग पढ़ता है ...

Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Loading state: '_498e7d4d75bb7716e5e8cf905e0da5ef1c40cf1b3f' 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] SimpleSAML_Error_NoState: NOSTATE 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] Backtrace: 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 2 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/lib/SimpleSAML/Auth/State.php:225 (SimpleSAML_Auth_State::loadState) 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 1 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/saml/www/sp/saml2-acs.php:63 (require) 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] 0 /OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/www/module.php:134 (N/A) 
Feb 02 13:08:31 simplesamlphp ERROR [8abc64dd04] Error report with id dfbb52b0 generated. 
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/dictionaries/errors] 
Feb 02 13:08:31 simplesamlphp DEBUG [8abc64dd04] Template: Reading [/OriginSystems/application/Updraft/web/external/System/SSO/simplesaml/modules/core/dictionaries/no_state] 

यह मेरे लिए लगता है जैसे प्रमाणीकरण टोकन _498e7d4d75bb7716e5e8cf905e0da5ef1c40cf1b3f होना चाहिए लेकिन किसी कारण से नहीं है। चूंकि SimpleSAML को टोकन नहीं मिल रहा है, इसलिए यह पुराने व्यक्ति को कभी हटा नहीं देता है और एक नया बना देता है। शायद मैं इसके बारे में गलत हूँ। मैं पूरी तरह से सुधार करने के लिए तैयार हूँ। मेरी समस्या यह है कि मुझे नहीं पता कि इसका क्या कारण है। मैंने config.name में cookie.name को "biz.stage.originsystems.co.za" पर सेट किया है और ऐसा लगता है कि SimpleSAML नियंत्रण कक्ष के लिए ठीक काम करता है लेकिन वास्तविक अनुप्रयोग से एसपी का उपयोग करते समय यह काम नहीं करता है। क्या कोई मुझे सही दिशा में इंगित कर सकता है? मैं हार गया हूं।

+2

उत्पन्न आईडी/टोकन मिल रहा है किसी भी तरह की समस्या पैदा कर रही है, शीर्ष तीन कारण है कि इस त्रुटियों उत्पन्न कर सकते हैं कर रहे हैं, 1. डोमेन नाम, उदाहरण के लिए बदलने से आप www.example.com पर हॉपिंग कि कारण example.com पर हैं कोई राज्य त्रुटि के लिए, 2. HTTP से कूद HTTPS या HTTPS HTTP करने के लिए सत्र, 3. सत्र ठीक से बचत नहीं है, अधिक जानकारी के लिए कृपया [यहां] (पर एक नज़र https://simplesamlphp.org/docs/development पर विचार/simplesamlphp-nostate # section_3) –

+0

मल्टी विचारक: यह एक उत्कृष्ट प्रतिक्रिया है। आपको इसे एक उत्तर के रूप में पोस्ट करना चाहिए, ताकि आप बक्षीस कमा सकें। यदि यह आपके लिए काम नहीं करता है, एंड्रयू, क्या आप अपने एसपी और आईडीपी कॉन्फ़िगरेशन के लिए मेटाडेटा पोस्ट करना चाहते हैं? –

+0

मेटाडाटा को देख के बिना यह एक विशिष्ट जवाब देने के लिए कठिन है, लेकिन मुझे लगता है कि फ़ायरफ़ॉक्स एक ऐड-ऑन SAML ट्रेसर कहा जाता है (https://addons.mozilla.org/en-US/firefox/addon/ है का कहना है चाहते हैं सैम-ट्रैसर /) कि मैंने एसएसओ समस्याओं को डीबग करते समय हर समय इस्तेमाल किया था। डिबग स्टेटमेंट्स पर भरोसा किए बिना आपको कौन से मूल्य भेजे जा रहे हैं, यह जानने में मदद कर सकते हैं। – mounty

उत्तर

0

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

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