के साथ संघर्ष करता है मेरे पास एंगुलरजेएस में यूई-राउटर के साथ एक फ्रंट एंड विकसित हुआ है। बैकएंड से आरईएसटी एपीआई का उपभोग करने के लिए मुझे ओएथ 2 एक्सेस टोकन (निहित अनुदान) प्राप्त करने की आवश्यकता है।एंगुलरजेएस यूई-राउटर OAuth2 access_token
मेरे समस्या जाहिर है, OAuth नृत्य के अंतिम चरण में है, जब मैं यूआरएल
mydomain.com/home/#access_token=hdzjkdnba89fenbjkéz38U0D903ç&...
mydomain.com/home
रीडायरेक्ट यूआरआई होने में टोकन प्रमाणीकरण सर्वर से वापस पहुँच जाते हैं।
पुनर्निर्देशन के बाद दूसरे की बस एक अंश, AngularJS
mydomain.com/#/my-default-view
और फलस्वरूप पहुँच टोकन URL से मिटा दिया जाता है की तरह कुछ में URL बदल जाता है।
अब कुछ बातें:
- मैं अपने OAuth2 ग्राहक के लिए एक हैश ('#') से युक्त एक रीडायरेक्ट यूआरआई को परिभाषित करने की अनुमति नहीं कर रहा हूँ। इसलिए
mydomain.com/#/auth-complete/
जैसे ठीक नहीं है। - मैं
$routeProvider.otherwise('/')
का उपयोग करता हूं। - मैंने बीच में '#' को हटाने के लिए
$locationProvider.html5Mode(true);
सेट करने का प्रयास किया लेकिन समस्या एक ही है (यूआरएल और एक्सेस टोकन तुरंत पुनर्निर्देशन के बाद मिटा दिया जाता है)। - चूंकि एन्कुलर द्वारा URL को संशोधित करने के बाद भी पहुंच टोकन HTTP प्रतिक्रिया में अभी भी पहुंच योग्य है, तो शायद मैं
$http
इंटरसेप्टर का उपयोग कर सकता हूं लेकिन यह सामान्य कार्य के लिए थोड़ा अधिक लगता है?
कोई सलाह?
शायद आपके पास लेखक URL के लिए कोई मिलान स्थिति नहीं हो सकती है। चूंकि आपके पास $ रूटप्रोवाइडर है। अन्यथा ('/'), बेजोड़ यूआरएल पैटर्न वेब साइट की रूट पर अग्रेषित किए जाएंगे। – erandac
लेकिन मैं एक मनमाना टोकन युक्त यूआरएल से कैसे मेल करूं? रेगेक्स जैसे कुछ का उपयोग करना संभव है "अगर यूआरएल में 'access_token' है, तो बस कुछ भी नहीं करें"? – Buddyshot
हां आप रेगेक्स मिलान कर सकते हैं। यहां प्रलेखन की जांच करें https://github.com/angular-ui/ui-router/wiki/URL- राउटिंग – erandac