Caspio API'u tüketen bir uygulama yapıyorum. API'larına karşı kimlik doğrulaması konusunda sorun yaşıyorum. Bunu anlamaya çalışırken 2-3 gün harcadım ama bu benim sonumdaki bazı anlayışlardan kaynaklanıyor olabilir. Stackoverflow yazısında sayısız makale okudum ve aksi halde sorunu çözmedim. Aşağıda, neye baktığımı temel alan çözümümün bir kod örneği ve 400 Durum kodu mesajı alıyorum; Burada neyi yanlış yapıyorum? (Iyi yorumladı kod örneği sağlamak ve ben tercih edeceğini Lütfen bağlantılar burada yayınlanan ben bu yoğun teşekkürler baktım gibi diğer malzemeyi başvuran var DEĞİL.!):Temel Kimlik Denetimi JavaScript'i Kullanma
1:
Bazı referanslar i baktım) Pure JavaScript code for HTTP Basic Authentication?
2) How to make http authentication in REST API call from javascript
aşağıdaki Caspio tarafından tarif edildiği gibi, bu kimlik doğrulama yöntemini kullanmak isteyen:
İstek gövdesinde kimlik bilgilerini dahil etmenin bir alternatifi olarak, bir istemci HTTP Temel kimlik doğrulama şemasını kullanabilir.
Yöntem: SONRASI
URL: Simgeniz uç nokta
Gövde: grant_type = Bu durumda, kimlik doğrulama isteği şu şekilde kurulum olacak client_credentials
Başlık parametresi:
Yetki: Aşağıda
benim JavaScript ve HTML kodu vardır Temel Temel kimlik doğrulaması bölge.
JavaScript:
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: Bu bakarak zaman biraz Harcama sonra ben bunun için çözüm geldi
<div>
<div id="response">
</div>
<input type="button" class="btn btn-primary" value="Call Web API" onclick="javascript:CallWebAPI();" />