का उपयोग कर मूल प्रमाणीकरण मैं Caspio API का उपभोग करने वाले एक एप्लिकेशन का निर्माण कर रहा हूं। मुझे उनके एपीआई के खिलाफ प्रमाणीकरण में कुछ परेशानी हो रही है। मैंने इसे समझने की कोशिश करने में 2-3 दिन बिताए हैं लेकिन यह मेरे अंत में कुछ समझ के कारण हो सकता है। मैंने स्टैक ओवरफ्लो पोस्ट पर अनगिनत लेख पढ़े हैं और अन्यथा लेकिन इस मुद्दे को हल नहीं किया है। मैंने जो देखा है उसके आधार पर नीचे मेरे समाधान का एक कोड उदाहरण है और मुझे 400 स्टेटस कोड संदेश मिल रहा है; मुझसे यहां क्या गलत हो रहा है? (अच्छी तरह से टिप्पणी की कोड उदाहरण प्रदान करते हैं और मैं पसंद करेंगे कृपया नहीं है लिंक यहां पोस्ट अन्य सामग्री को संदर्भित के रूप में मैं इन बड़े पैमाने पर धन्यवाद ध्यान दिया है।!):जावास्क्रिप्ट
1:
कुछ संदर्भों मैं पर ध्यान दिया है) Pure JavaScript code for HTTP Basic Authentication?
2) How to make http authentication in REST API call from javascript
मैं नीचे के रूप में caspio द्वारा वर्णित इस प्रमाणीकरण विधि का उपयोग करना चाहेंगे:
अनुरोध निकाय में प्रमाण पत्र शामिल करने के विकल्प के रूप में, ग्राहक HTTP मूल प्रमाणीकरण योजना का उपयोग कर सकता है।
विधि:: पोस्ट
यूआरएल: आपका टोकन endpoint
बॉडी: grant_type = इस मामले में, प्रमाणीकरण अनुरोध निम्नलिखित तरीके से सेटअप किया जाएगा client_credentials
हैडर पैरामीटर:
प्राधिकरण: बेसिक मूल प्रमाणीकरण दायरे
नीचे मेरी जावास्क्रिप्ट और HTML कोड है।
जावास्क्रिप्ट:
var userName = "clientID";
var passWord = "secretKey";
function authenticateUser(user, password)
{
var token = user + ":" + password;
// Should i be encoding this value????? does it matter???
// Base64 Encoding -> btoa
var hash = btoa(token);
return "Basic " + hash;
}
function CallWebAPI() {
// New XMLHTTPRequest
var request = new XMLHttpRequest();
request.open("POST", "https://xxx123.caspio.com/oauth/token", false);
request.setRequestHeader("Authorization", authenticateUser(userName, passWord));
request.send();
// view request status
alert(request.status);
response.innerHTML = request.responseText;
}
HTML:
<div>
<div id="response">
</div>
<input type="button" class="btn btn-primary" value="Call Web API" onclick="javascript:CallWebAPI();" />