2017-07-23 32 views
8

के बिना ओएयूपी से यूडब्ल्यूपी ऐप पर रीडायरेक्ट करें, मैं एक ऐप लिखने की कोशिश कर रहा हूं जो ओएथ यूआरएल के साथ संचार करता है। OAuth URL के साथ संचार उचित व्यवहार करता है, और उपयोगकर्ता को लॉग इन करने के लिए सही तरीके से संकेत दिया जाता है। हालांकि, ऐप के लिए रीडायरेक्ट यूआरएल में प्रतिबंधों के कारण, मैं एक एमएस-ऐप डोमेन पर रीडायरेक्ट करने में असमर्थ हूं (जो मुझे विश्वास है कि आप कैसे खुलते हैं विंडोज 10 पर एक यूडब्ल्यूपी ऐप - अगर यह धारणा गलत है तो कृपया मुझे सही करें!)।एमएएस-एप

अपनी वेबसाइट की मेजबानी करने और पुनर्निर्देशित होने के अलावा, क्या कोई यह जानता है कि यह कैसे करें?

try 
{ 
    var webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, url); 

    switch (webAuthenticationResult.ResponseStatus) 
    { 
     case WebAuthenticationStatus.Success: 
      // Successful authentication. 
      result = webAuthenticationResult.ResponseData.ToString(); 
      break; 

     case WebAuthenticationStatus.ErrorHttp: 
      // HTTP error. 
      result = webAuthenticationResult.ResponseErrorDetail.ToString(); 
      break; 

     default: 
      // Other error. 
      result = webAuthenticationResult.ResponseData.ToString(); 
      break; 
    } 
} 
catch (Exception ex) 
{ 
    // Authentication failed. Handle parameter, SSL/TLS, and Network Unavailable errors here. 
    result = ex.Message; 
} 

मुद्दा इस तरह प्रकट होता:

Error reads: "We can't connect to the service you need right now. Check your network connection or try this again later."

+0

"हालांकि, ऐप के लिए रीडायरेक्ट यूआरएल में प्रतिबंधों के कारण, मैं एक एमएस-ऐप डोमेन पर रीडायरेक्ट करने में असमर्थ हूं", क्या मुझे पता चलेगा इसका क्या अर्थ है? क्या आपका मतलब है कि आप एकल साइन-ऑन से कनेक्ट करना चाहते हैं, लेकिन ऑनलाइन प्रदाता आपको 'ms-app: // ' फ़ॉर्म में रीडायरेक्ट यूआरआई पंजीकृत करने की अनुमति नहीं देता है? –

+0

@ SunteenWu-MSFT हाँ, ठीक है कि! –

उत्तर

3

UWP में आप के लिए एक प्रोटोकॉल बाध्य कर सकते हैं

कोड मैं वर्तमान में ग्राहक के लिए उपयोग कर रहा हूँ नमूना कोड है गहरा लिंकिंग के माध्यम से आपका ऐप, ताकि वह उस प्रोटोकॉल का उपयोग कर डिफ़ॉल्ट रूप से खुलता है।

गहरे लिंकिंग here के बारे में अधिक जानकारी।

मूल रूप से आप अपना स्वयं का प्रोटोकॉल बनाते हैं (मेरा मतलब है कि आप केवल "मेरे-महान-प्रोटोकॉल: //" जैसे स्ट्रिंग अनुक्रम का आविष्कार करते हैं) और इसका जवाब देने के लिए अपना ऐप पंजीकृत करें, इसे एमएस नहीं होना चाहिए -app: //।

यदि आप वास्तव में मानक प्रोटोकॉल के अलावा कुछ भी लिंक नहीं कर सकते हैं, तो आप एक यूआरएल शॉर्टनर सेवा का उपयोग कर सकते हैं जो आपके कस्टम प्रोटोकॉल पर रीडायरेक्ट करेगा। कई यूआरएल शॉर्टिंग सेवाएं इसकी अनुमति नहीं देती हैं, लेकिन यहां एक ऐसा है जो करता है: https://ipkill.org

+0

यह वही है जो मैं ढूंढ रहा था। धन्यवाद! –

1

क्या आप लॉगिन के बाद खुलने वाली कस्टम रीडायरेक्ट योजना पंजीकृत करने का प्रयास कर रहे हैं। उदाहरण के लिए redirect-uri=ms-app://test1 कस्टम योजना खोलनी चाहिए, कस्टम यूआरआई योजना को पंजीकृत करने के तरीके को जानने के लिए यह link देखें। एक बार कस्टम यूरी योजना शुरू हो जाने के बाद आप अपने यूडब्ल्यूपी ऐप को आमंत्रित करने के लिए इस कस्टम योजना को प्राप्त कर सकते हैं। कस्टम यूआरआई योजना में एक स्क्रिप्ट शामिल है (विंडोज़ के लिए शैल या बैच स्क्रिप्ट)। आप अपने यूडब्ल्यूपी ऐप को आमंत्रित करने के लिए एक लाइन लिख सकते हैं।