【问题标题】:What are the security implications for storing access tokens outside of Meteor.js accounts?在 Meteor.js 帐户之外存储访问令牌有哪些安全隐患?
【发布时间】:2015-10-06 01:39:21
【问题描述】:
我正在寻找构建一个 Meteor.js 应用程序,该应用程序将使用社交媒体 API 执行各种任务。
不同的社交媒体帐户需要与应用内的不同项目相关联,而不是与一个用户相关联。因此,将关联的访问令牌存储在项目集合中对我来说是有意义的。
我只是想知道这种方法是否存在任何安全隐患,因为我可以找到任何人尝试这样做的证据?
【问题讨论】:
标签:
meteor
meteor-accounts
【解决方案1】:
OAuth 令牌通常代表一个人,所以我认为最好始终与单个用户关联。虽然您可以将单个代币绑定到一个项目(例如 Coca Cola facebook 媒体活动),但这可能会很麻烦(您是否考虑过同一个项目的多个用户?1 个用户拥有多个项目?)。我猜每个项目都是针对媒体活动的,如果是这样,每个活动都应该是用户的子实体。
例如,
我建议的是 OAuth 令牌和用户之间的一对一关系。
然后,每个用户都有一个类似projects = [] 的属性,您可以在其中将项目 ID 作为外键放入数组中。然后在项目集合中,每个项目至少有 2 个字段:
{
tokenAPI: facebook
token: 2039asfkljelkfajw
}
无论哪种方式都没有安全问题,只是可以省去一些麻烦。