我想通过javascript发出基本的HTTP身份验证调用请求,但我不知道该怎么做。我有一个javascript代码,并且在其中有一个会话参数。因此,我需要先进行此调用,从该调用中获取session_id作为响应,然后继续执行我的JavaScript代码。这是此基本HTTP身份验证的文档:https://ibanke-commerce.nbg.gr/api/documentation/apiDocumentation/rest-json/version/latest/operation/Session%3a%20Create%20Checkout%20Session.html?locale=en_US
关于银行和电子商务之间的付款方式。
如何用javascript编写?我的代码结构目前是这样的:
<script
//need call auth somewhere here I guess
Payment.Config({
... ... ..
Url: "...",
Name: "...",
session: "here I need the response of the call"
...
...
});
</script>
任何帮助/指南将不胜感激
您需要三件事:
1。创建用于身份验证的基本标头
基本标头是您的用户的Base64编码的字符串,密码。为此,您应该对凭据进行编码,如下所示。
user_id:password
如果您是user_id
为merchantId
您可以使用this之类的在线服务来对您的凭据字符串进行编码
或
您可以像这样在您的JavaScript代码中对其进行编码
var clientId = "user_id";
var clientSecret = "password";
// var authorizationBasic = $.base64.btoa(clientId + ':' + clientSecret); // jQuery
var authorizationBasic = window.btoa(clientId + ':' + clientSecret); // Javascript
我会推荐第一个选项。
2。使用“基本标题”进行发布请求
您可以按照此答案进行操作make an HTTP POST authentication basic request using Javascript
3。在代码中使用身份验证请求的响应
所以您的最终代码将是这样的
var url = 'your_url_server';
var authorizationBasic = 'the_created_basic_header';
var request = new XMLHttpRequest();
request.open('POST', url, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('Authorization', 'Basic ' + authorizationBasic);
request.setRequestHeader('Accept', 'application/json'); // Modify according to the response format
request.send("parameter1=parameter1_value¶meter2=parameter2_value"); // Any parameter you might need
request.onreadystatechange = function () {
if (request.readyState === 4) {
alert(request.responseText);
Payment.Config({
... ... ..
Url: "...",
Name: "...",
session: request.responseText // Here is the response of the call
...
...
});
}
};