1
|
Brian Deterling · 技术社区 · 14 年前 |
![]() |
1
0
实际上,不将密钥存储在源代码中是不好的做法,因为这是最灵活的设置。( continuous deployment ) 但是,根据您所说的,您希望有两个组:能够生成代码的组和能够部署代码的组。可以部署它的人可以访问密钥,并且在最安全的设置中,不能使用应用程序的代码。您可以通过让编写代码的人对代理所有授权部分并对应用程序进行身份验证的系统进行自动身份验证,从而使OAuth仍然工作。这些密钥(app->auth middle man)可以在存储库中,因为它们是内部的。 任何其他设置:由那些可以部署、加密密钥的人创建的身份验证库,任何其他设置都可能被编写代码的人破坏。如果您不信任他们,无法访问密钥,那么您可能不信任他们,无法尝试访问。 越狱 钥匙。 由此产生的部署方案要复杂得多,因此更容易出现错误。但如果不是这样,它就更安全了。您仍然需要信任一些人,比如安装操作系统的人、代理的系统中间件、维护代理的机器的人、能够长期使用代理的人等等。如果有权访问密钥的人的groupo足够小,并且您信任他们,那么您就获得了安全性。否则,你就失去了安全感,对变化的反应能力,浪费了很多人的时间。 不幸的是,所有授权方案都要求您信任某人。不可能。这对于任何应用程序/框架/授权方案都是有效的,不仅是西纳特拉、Rails、OAuthe、Java、RSA签名、椭圆曲线等等。 |
![]() |
kamaci · 为Twitter OAuth生成哈希 6 年前 |
|
Nipoon Patel · Gmail登录如何工作 7 年前 |
![]() |
Stan · 将R Studio连接到精确的在线API 7 年前 |