2012-08-02 7 views
6

हम एक ऐसा एप्लीकेशन बना रहे हैं जो एसीएस का उपयोग करता है। हमारे उपयोग परिदृश्य इस तरह दिखता है:Azure एसीएस - रिलेइंग पार्टी आवेदन - पैरामीटर के साथ ReturnURL?

  1. उपयोगकर्ता इस एक https://our.application.com/?requestId=123456 ईमेल के माध्यम से और उस पर क्लिक
  2. उपयोगकर्ता LiveID लॉगिन स्क्रीन
  3. पर पुनः निर्देशित हो जाता है में प्रवेश करने के बाद एक ऐसा URL हो जाता है, एसीएस अग्रेषित करता है उपयोगकर्ता हमें, लेकिन https://our.application.com/

लिए दुर्भाग्य से, ऐसा लगता है कि "द रिटर्न यूआरएल" "Relaying पार्टी" में सेटिंग "अभिगम नियंत्रण सेवा पोर्टल" पर सिर्फ एक निश्चित स्ट्रिंग है। क्या मूल अनुरोध का प्रचार करने का कोई तरीका है? यदि नहीं, तो आप एक कामकाज के रूप में क्या सुझाव देंगे?

उत्तर

3

मुझे उत्तर का नंबर है, और मैं पैरामीटर को स्टोर करने के लिए कुकी का उपयोग करने का सुझाव दूंगा।

+0

सुझाव के लिए धन्यवाद :-) –

+0

असल में आप इसे कुकी सामान के बिना कर सकते हैं - अन्य उत्तरों देखें। –

4

उत्तर वास्तव में हाँ है, लेकिन बिना किसी काम के। चरण 3 में, आपके एसीएस आरपी में डिफॉल्ट एसीएस लॉगिन पेज द्वारा कॉन्फ़िगर किए गए आपके रिटर्न यूआरएल को ओवरराइड किया जा रहा है। यह वह पृष्ठ है, जो डिफ़ॉल्ट रूप से आपके लिए एसीएस होस्ट करता है, जहां आप अपना पहचान प्रदाता चुनते हैं। (आप इसे ब्राउज़र में हमेशा नहीं देख सकते हैं; यदि आपके पास केवल एक आईडीपी कॉन्फ़िगर किया गया है तो यह स्वचालित रूप से रीडायरेक्ट हो जाएगा।)

आप एसीएस को एक कस्टम लॉगिन पेज का उपयोग करने के लिए कह सकते हैं जो आप स्वयं होस्ट करते हैं ताकि यह मूल यूआरएल सहेजा जा सके। आप एसीएस पोर्टल से डिफ़ॉल्ट एसीएस लॉगिन पेज को बंद करने के लिए कुछ डाउनलोड कर सकते हैं।

मुश्किल हिस्सा इस तथ्य से आता है कि विभिन्न प्रोटोकॉल का उपयोग करने वाले विभिन्न पहचान प्रदाता इस मूल यूआरएल को बचाने के लिए विभिन्न तंत्र का उपयोग करते हैं।

इस बारे में कुछ आगे की चर्चा और कोड नमूने यहां पाया जा सकता है, और आप वेब पर कहीं और इस समस्या का समाधान आगे मिल सकती है:

How do I get the return URL working properly again after downloading a login page from Azure ACS?

+1

ठीक है, मैंने कोशिश की, लेकिन ऐसा लगता है कि LiveID को & cx param पसंद नहीं है। मैं "अनुरोध सही ढंग से स्वरूपित नहीं है।" त्रुटि। सभी के बाद कुकी समाधान के साथ समाप्त हो गया। हालांकि, अगर आपको पता है कि इसका कारण क्या हो सकता है - मैं इसे जानना चाहता हूं :-) आपके सुझाव ने मुझे किसी अन्य तरीके से मदद की - मैं चाहता था कि कुछ मामलों में केवल एक पहचानकर्ता प्रदाता को विकल्प के रूप में पेश किया जाए उन सभी को सूचीबद्ध करने के लिए। –

+0

मेरा पहला अनुमान एक यूआरएल एन्कोडिंग समस्या है। अगर आप मुझे एक उदाहरण भेजना चाहते थे तो मैं आपको निश्चित रूप से बताने में सक्षम हूं :) –

0

आप के माध्यम से एक "returnUrl" प्रदान करना चाहते हैं एसीएस + माइक्रोसॉफ्ट खाता आपको IdentitiyProviders.js के माध्यम से एसीएस प्रवेश पृष्ठों क्वेरी और एक "संदर्भ", जैसे पारित कर सकते हैं: https://MyACS.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=wsfederation&realm=MyRealm&reply_to=&context=foooobar&request_id=&version=1.0&callback=&wfresh=0

नतीजतन आप wctx पैरामीटर के साथ माइक्रोसॉफ्ट खाते के लिए लॉग इन-URL प्राप्त होगा: https://login.live.com/login.srf?wa=wsignin1.0&wtrealm=...&wp=MBI_FED_SSL&wctx=cHI9d3NmZWRlcmF0aW9uJnJtPXVybiUzYW9uZW9mZml4eCUzYWRldiUzYWRlZmF1bHQmY3g9Zm9vb29iYXI1 < - foobar।

लॉगिन प्रक्रिया के बाद आपके कॉन्फ़िगर किए गए वापसी यूआरएल को wctx पैरामीटर के साथ बुलाया जाता है (मेरे उदाहरण में आपको "foobar" मिल जाएगा)।

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