मैं आईएएम टोकन आधारित प्रमाणीकरण के साथ काम करने की कोशिश कर रहा हूं। मैं 'एक्सेस टोकन' जेनरेट करने में सक्षम हूं और 'एक्सेस टोकन' का उपयोग करके ऑपरेशन कर सकता हूं। अब मैं 'ताज़ा टोकन' जनरेट करते समय समस्या आ रही है। मैं इस लिंक का अनुसरण कर रहा हूं https://cloud.ibm.com/docs /services/watson?topic=watson-iam.

मैं ताज़ा टोकन उत्पन्न करने के लिए नीचे दिए गए आदेश का उपयोग कर रहा हूँ। यहां प्राधिकरण शीर्षलेख मान उपयोगकर्ता नाम का उपयोग करके 'एपिकी' और मूल्य के रूप में मेरी कुंजी के रूप में प्राप्त किया गया है। {refreh-token} मान मैं उपयोग कर रहा हूं जो मुझे 'एक्सेस टोकन' उत्पन्न करते समय प्राप्त हुआ था।

curl -k -X POST --header "Authorization: Basic Yng6Yng=" --data-urlencode "grant_type=refresh_token" \ --data-urlencode "refresh_token={refresh-token}" "https://iam.bluemix.net/identity/token"

मैं रीफ्रेश टोकन प्राप्त करने की अपेक्षा करता हूं लेकिन त्रुटि प्राप्त करता हूं {"संदर्भ": "requestId": "021c3482...""},"errorCode":"BXNIM0507E",,"errorMessage":"OpenID Connect संबंधित API के लिए, आपको भेजने की आवश्यकता है मूल प्राधिकरण शीर्षलेख के रूप में आपके क्लाइंट क्रेडेंशियल"}

क्या कोई मुझे यह समझने में मदद कर सकता है कि क्या गलत हो रहा है

1
C-ddhesh 30 मई 2019, 15:58

1 उत्तर

सबसे बढ़िया उत्तर

https://cloud.ibm.com/docs/services में विवरण /watson?topic=watson-iam रीफ्रेश केस का गलत वर्णन कर रहा है। मैं उस अनुभाग को अद्यतन करने के लिए डॉक्स टीम के साथ अनुवर्ती कार्रवाई करूंगा। यह सामान्य विवरण है कि एपीआई कुंजी के लिए टोकन कैसे प्राप्त करें: https://cloud.ibm.com/docs/iam?topic=iam- iamtoken_from_apikey

एपीआई उपयोग के लिए, आईबीएम क्लाउड आपको क्लाइंट आईडी / सीक्रेट प्रदान किए बिना एक्सेस टोकन जेनरेट करने की अनुमति देता है। इस मामले में, एक default क्लाइंट आईडी मान ली जाती है जिसे केवल API कुंजियों के लिए टोकन बनाने की अनुमति है, लेकिन किसी अन्य प्रकार के अनुदान का उपयोग करने के लिए अधिकृत नहीं है - जिसमें Grant_type refresh_token शामिल है। इसलिए, पहली कॉल में एपीआई कुंजी अनुदान की प्रतिक्रिया से रीफ्रेश टोकन को बस खारिज कर दें - आप इसका उपयोग नहीं कर पाएंगे।

एपीआई कुंजी उपयोग के मामले में, वैसे भी एपीआई कुंजी अनुदान प्रकार के साथ एक नया एक्सेस टोकन प्राप्त करने पर ग्रांट_टाइप refresh_token का उपयोग करने का कोई लाभ नहीं है - सभी सत्यापन चरण जो आंतरिक रूप से किए जाते हैं (क्या उपयोगकर्ता अभी भी मौजूद है / है) उपयोगकर्ता अभी भी खाते में /...) समान हैं। लेकिन रीफ्रेश टोकन अंततः समाप्त हो जाएगा - एपीआई कुंजी नहीं।

2
Martin Smolny 30 मई 2019, 20:09