javascript - Meteor - 如何在客户端安全地存储和访问 settings.json 变量?

标签 javascript meteor

我正在尝试访问 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/

相关文章:

javascript - AngularJS - 缩小错误

javascript - 如何使用清晰的 native Javascript 测试浏览器事件 - 单击、鼠标悬停等?

javascript - 将图像添加到 Service Worker 中的缓存中

javascript - Meteor:在定义路线的情况下添加一个类

javascript - 如何在 AngularJS 中将文本渲染成 HTML

javascript - 你能指定页面元素的加载顺序吗?

javascript - 如何在 Meteor 中使用按时间排序的两个不同模板显示两个不同的集合

mongodb - 在引用数据更新时更新嵌入数据

javascript - 在meteorjs和bootstrap 3中仅显示50个字符

javascript - 在 Meteor 1.3+ 中使用异步