कीकलोक पुत-अनुरोध 401 (अनधिकृत) लौटाता है
मैं पोस्टमैन का उपयोग कर रहा हूं और मैंने http: // localhost: 8180 / परिस्थिति / व्यवस्थापक / स्थानों / डेमो / उपयोगकर्ताओं / {userID} के माध्यम से उपयोगकर्ता की प्रोफ़ाइल अपडेट करने की कोशिश की है, लेकिन मुझे एक 401
प्रतिक्रिया मिली।
प्रक्रिया मैं इस्तेमाल किया:
अनुरोधित और प्राप्त टोकन टोकन http: // localhost के माध्यम से: 8180 / स्थिति / क्षेत्र / मास्टर / प्रोटोकॉल / ओपन-कनेक्ट / टोकन
उचित तरीके से हेडर का अनुरोध करने के लिए टोकन जोड़ा गया अर्थात प्राधिकरण: बियरर {access_token}
भेजे गए पुट अनुरोध के साथ JSON सामग्री प्रकार और उपयोगकर्ता की जानकारी http: // localhost: 8180 / परिस्थिति / व्यवस्थापक / स्थानों / डेमो / उपयोगकर्ताओं / {userID} के माध्यम से।
दुर्भाग्य से, मुझे बैक-टू-बैक 401 प्रतिक्रियाएं मिली हैं।
पहला अनुरोध:
-बॉडी (x-www-form-urlencoded)
client_id : admin_cli
username: ...
password: ...
grant_type: password
client_secret: ...
-सेवा http://localhost:8180/auth/realms/master/protocol/openid-connect/token
दूसरा निवेदन:
-हेडर -> प्राधिकरण: बियरर ...
-बॉडी (JSON)
"email": "[email protected]",
"firstName": "divad",
"lastName": "d"
-सेवा http://localhost:8180/auth/admin/realms/demo/users/{userID}
जवाब
आपके पहले कॉल में, david
उपयोगकर्ता को व्यवस्थापक-समान विशेषाधिकारों के साथ एक होना चाहिए । अन्यथा, किसी को उन कार्यों के लिए एक अधिकृत त्रुटि प्रतिक्रिया मिलती है जो david
उपयोगकर्ता के पास प्रदर्शन करने के लिए विशेषाधिकार नहीं है। उपयोगकर्ता को व्यवस्थापक-समान विशेषाधिकार कैसे असाइन करें यह जाँचने के लिए इस SO थ्रेड पर एक नज़र डालें ।
अभी के लिए हम मास्टर एडमिन यूजर की ओर से टोकन के लिए अनुरोध करते हैं :
शरीर की प्रतिक्रिया से अर्क access_token
।
दूसरे कॉल के लिए पहले, कॉपी करें और इसे पेस्ट access_token
करें Authorization > Type Bearer Token
:
के बजाय दूसरी कॉल पर
http://localhost:8180/auth/admin/realms/demo/users/{userID}
आपको उस उपयोगकर्ता userID
के वास्तविक userID
के साथ पैरामीटर को बदलना होगा जिसे आप अपडेट कर रहे हैं। प्राप्त करने के लिए userID
आप निम्नलिखित बिंदु को कॉल कर सकते हैं:
GET <YOUR_KEYCLOAK_DOMAIN>/auth/admin/realms/<YOUR_REALM>/users/?username=<THE_USERNAME>
या आप टैब उपयोगकर्ताओं के तहत कीक्लॉक एडमिन कंसोल से कॉपी और पेस्ट कर सकते हैं:
तो पोस्टमैन में ऐसा दिखेगा: