5

का उपयोग कर जेडब्ल्यूटी एक्सेस एक्सेस टोकन और उपयोगकर्ता दावों का उपभोग कैसे करें I Asp.net वेब एपीआई 2.2 सेवा से जेडब्ल्यूटी एक्सेस एक्सेस टोकन का उपभोग करने के लिए नीचे दिए गए कोड का उपयोग कर रहा हूं। मैंने वेब एपीआई सेवा में एक प्राधिकरण सर्वर स्थापित करने के लिए this article का पालन किया है। मैं ग्राहक में RestSharp का उपयोग कर रहा हूँ।RestSharp

ग्राहक कोड:

  var client = new RestClient(http://localhost:58030); 
      client.Timeout = 30000; 
      var request = new RestRequest(@"/Oauth/Token", Method.POST); 
      request.AddHeader("content-type", "application/x-www-form-urlencoded"); 
      request.AddHeader("grant_type", "password"); 
      request.AddHeader("username", "[email protected]"); 
      request.AddHeader("password", "[email protected]"); 
      IRestResponse response = client.Execute(request); 
      result = response.Content; 

एक परिणाम मैं निम्न त्रुटि हो रही है के रूप में:

{ 
    "error_description":"grant type not supported", 
    "error":"unsupported_grant_type" 
} 
  1. क्यों मैं इस त्रुटि मिल रही है और मैं इसे ठीक कर सकते हैं?
  2. मैं क्लाइंट में उपयोगकर्ता नाम जैसे दावों का उपयोग कैसे कर सकता हूं?
  3. वैकल्पिक रूप से मैं सेवा का उपभोग करने के लिए पहचान मॉडल का उपयोग कैसे कर सकता हूं?

उत्तर

-1

यह एक पुराने सवाल है और आप शायद अब लेकिन यहाँ FWIW समाधान है कि मेरे लिए काम किया है से एक कार्यान्वयन है

var client = new RestClient("http://blahblah/"); 
var request = new RestRequest("/token", Method.POST); 
// all parameters need to go in body as string 
var encodedBody = string.Format("username={0}&password={1}&grant_type=password", model.Username, model.Password); 
request.AddParameter("application/x-www-form-urlencoded", encodedBody, ParameterType.RequestBody); 
request.AddParameter("Content-Type", "application/x-www-form-urlencoded", ParameterType.HttpHeader); 
var response = client.Execute(request); 
1

आप grant_type, username और password http अनुरोध के Header को जोड़ा गया, यह Body भाग में होना चाहिए।

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