Sto costruendo un'applicazione che utilizza lo Caspio API. Sto riscontrando dei problemi durante l'autenticazione con la loro API. Ho trascorso 2-3 giorni a cercare di capirlo, ma potrebbe essere dovuto ad una certa comprensione da parte mia. Ho letto innumerevoli articoli sul post StackOverflow e in altro modo, ma non ho risolto il problema. Di seguito è riportato un esempio di codice della mia soluzione in base a ciò che ho visto e ricevo un messaggio di 400 Status Code; Cosa sto facendo di sbagliato qui? (Si prega di fornire esempio di codice ben commentato e io preferirei NON hanno link postato qui riferimento a altri materiali come ho visto anche questi ampiamente Grazie.!):Autenticazione di base tramite JavaScript
Alcuni riferimenti Ho guardato:
1) Pure JavaScript code for HTTP Basic Authentication?
2) How to make http authentication in REST API call from javascript
desidero utilizzare questo metodo di autenticazione come descritto da caspio seguito:
In alternativa alle credenziali incluse nel corpo della richiesta, un client può utilizzare lo schema di autenticazione di HTTP Basic. In questo caso, richiesta di autenticazione sarà messa a punto nel modo seguente:
Metodo: POST
URL: tuo punto finale gettone
Corpo: grant_type = client_credentials
parametro Intestazione:
Autorizzazione: autenticazione di base di base regno
Qui di seguito sono il mio codice Javascript e HTML.
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:
<div>
<div id="response">
</div>
<input type="button" class="btn btn-primary" value="Call Web API" onclick="javascript:CallWebAPI();" />