У меня есть простой веб-сайт, который не делает ничего, кроме вызова API при нажатии кнопки. API im call (Домашний помощник) требует, чтобы пароль был включен в заголовок. Это нормально работает при тестировании, но как мне сделать это безопасным способом?
Мой ajax-вызов API в настоящее время содержит пароль в виде открытого текста и может быть просмотрен любым, кто проверяет файл .js.
function ToggleAPI(){
$.ajax
({
type: "post",
url: "https://exampledomain.org:8123/api/services/switch/toggle",
dataType: 'json',
headers: {
'x-ha-access': 'MyPasswordThatCanBViewdByAnyone',
'content-type': 'application/json'
},
async: false,
contentTtpe: 'application/json',
data: JSON.stringify( {
"entity_id": "SomeId"
}),
success: function (data){
console.log("Sucess",data);
},
error: function(err){
console.log("Error",err);
}
});
}
API работает на том же компьютере, что и веб-сервер, на котором размещен сайт.
(Настройка - Raspberry Pi с Home Assistant и сервером NGINX, на котором размещен веб-сайт)
Как правильно вызывать API и предоставлять пароль, не вводя его в файл .js?