问题描述
我正在使用Node.JS和单页Web应用程序。
该应用程序是首页,看起来像是标准搜索引擎。 它正在使用Microsoft Bing Web搜索API。 Microsoft建议设置Azure帐户和认知服务,然后再向它们提供API订阅密钥,我可以使用该订阅密钥向API发出请求。
我想将此API公开给具有我的自定义域地址的任何用户。 问题在于,每个请求都必须提供API密钥:来自以下MS的代码
<form name="bing" onsubmit="this.offset.value = 0; return bingWebSearch(this.query.value,bingSearchOptions(this),getSubscriptionKey())">
script.js
function getSubscriptionKey() {
var key = MY_KEY;
return key;
}
是否存在从.env之类的文件中获取订阅密钥的安全方法,以便每次向API发出请求时,用户都看不到该密钥?
我开始认为,可能需要先将搜索请求发送到Node.js服务器,该服务器将请求解析到API上并安全地提供密钥,然后将响应从API发送回服务器服务器会将该响应解析回用户正在查看的页面。 这可能吗?如果可以,怎么办?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)