我在Meteor上苦苦挣扎,我有这个应用程序,我想与API客户端连接,它提供了一个秘密API密钥,我不能发布(在客户端)。
问题是当我发送请求时,我得到一个JSON数据,我想将这些数据传递给客户端。
API>服务器呼叫 - >客户(渲染)。
但到目前为止,我还没有找到解决方案,我该怎么办呢。
我对Meteor如何工作有基本的了解,但我对JavaScript / NodeJS等有很好的了解。
真的很感激一点帮助。
谢谢。
答案 0 :(得分:1)
对于向服务器端call发送method的客户来说,这听起来是一个很好的用例。然后,服务器可以使用密钥发出HTTP请求,并将结果发送回客户端,而不会泄露密钥。请注意,您的服务器方法必须存在于server
目录中,以避免无意中将密钥传送到客户端(请参阅Structuring your application)。
Meteor.call('getApiResult', function(err, result) {
if (result) {
return console.log(result);
}
});
Meteor.methods({
getApiResult: function() {
var secret = 'abc123';
try {
var result = HTTP.get('http://example.com/', {params: {key: secret}});
return result.data;
} catch (_error) {
return false;
}
}
});