我正在尝试访问 Meteor 客户端的 key 。我知道使用 Meteor.settings ( http://docs.meteor.com/#/full/meteor_settings ) 似乎是访问 secret 的最佳方式。
我的 settings.json 看起来像这样:
{
"public": {
"secretKey": "topsecret!"
}
}
我需要在客户端 JavaScript 上访问 SecretKey。但是,当我进入浏览器并在控制台中时,我只需输入 Meteor.settings.public.secretKey
, key 就在那里!
是否有更好的方法让我在客户端存储和访问此 key ?
最佳答案
如果您想从客户端内部访问私有(private)内容,则必须使用用户帐户执行一些基本权限处理。
Meteor.methods({
getSecretKey: function(){
var user = Meteor.users.findOne(this.userId);
if(!user){
throw new Meteor.Error("login-error", "You must be logged in.");
}
if(!Roles.userIsInRole(user, "admin")){
throw new Meteor.Error("admin-error", "You must be an admin.");
}
return Meteor.settings.secretKey;
}
});
此伪代码使用一种方法从客户端检索 key 并 alanning:roles
执行简单的用户 Angular 色检查。
关于javascript - Meteor - 如何在客户端安全地存储和访问 settings.json 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30881039/