私はCaspio APIを消費するアプリケーションを構築しています。私は彼らのAPIに対して認証するのにいくつかの問題を抱えています。私はこれを理解しようと2〜3日を費やしましたが、それは私の最後の理解のせいかもしれません。私はstackoverflowの記事やそれ以外の無数の記事を読んだが、問題を解決していない。以下は、私が見たものに基づいて私のソリューションのコード例です。私は400ステータスコードメッセージを取得しています。私はここで間違って何をしていますか? (よくコメントしたコード例を提供し、私は、NOTを好むだろうしてくださいリンクは、私は広範囲にこれらを見てきたように、他の材料を参照してここに掲載されているおかげ。!):JavaScriptを使用した基本認証
私が見てきたいくつかの参照:
1 )Pure JavaScript code for HTTP Basic Authentication?
2)How to make http authentication in REST API call from javascript
以下caspioによって記載されたように、私は、この認証方法を使用したい:
要求本体に認証情報を含める代わりに、クライアントはHTTP基本認証方式を使用できます。この場合、認証要求は、次のように設定されます:
方法: POST
URL:あなたのトークンエンドポイント
ボディ: grant_type = client_credentials
ヘッダパラメータ:
認証:以下基本基本認証レルム
は私のJavascriptと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();" />