繁体   English   中英

流星服务访问令牌安全性的最佳实践

[英]Best practice for security of Meteor service access tokens

关于如何从服务器到客户端发布Meteor用户帐户的访问令牌,已经有了一些很好的答案 我只是想知道从安全角度来看是否更好:

  1. 发布当前用户的访问令牌并从客户端发出请求,或者
  2. 将令牌隐藏在服务器上,从那里进行API调用,然后将结果返回给客户端?

如果这太主观,请允许我重新表述一下,因为从安全角度来看,这两种方法有什么区别?

Meteor的“无处不在的数据库”理念向我暗示,发布私有数据应该是安全的,因为要发布的其他用户数据也将被视为私有。 另一方面,令牌可用的位置越多,就可以窃取更多的向量。 您会推荐什么,还有更重要的考虑因素吗?

编辑:我想另一个考虑因素是,至少对于Google的REST API,您需要传递应用程序的客户端密钥作为参数。 最好将其隐藏在最终用户面前,这可能是支持从服务器发送请求的一个论据。

如果可能的话,最好完全避免将令牌发送给客户端。 这是因为即使有很小的机会,您也可以避免某些恶意的工具栏/扩展名访问您的JS并访问令牌,这对用户和您自己都是非常不利的。

您还可以控制访问权限。

例如,如果它是facebook,并且您已将其发布到客户端。 例如,可以使用您的应用名称来更改其状态。 在未公开令牌的服务器上,这是不可能的。

您也不会知道客户端所做的更改,而您总是会在服务器上。

除非您的api具有某种“可发布的密钥”,否则切勿将访问令牌发送给客户端。

通过服务器代理的方法在2中更好。

1.(几乎是我能想到的唯一一个)的优点是,您可以通过API提供者对每个IP地址(例如twitter的水管)进行某种使用限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM