假设我有2台服务器(服务器和身份验证器),并且我有一个客户端。我的最终目标是能够在服务器上识别客户端。我的解决方案是提出一个像Oauth这样的令牌/秘密系统:客户有一个令牌和秘密。它将其传递给服务器。服务器将其传递给身份验证器。如果有效,服务器允许请求。

显然,这仅仅是针对要提出的请求的数量而不是理想的。身份验证器和服务器分开的原因是因为这是用于分散的服务 - 可以使用任何数量的服务器,并且要求客户端库在每个服务器上注册是不切实际的。

因此,问题仍然存在,最好/正确的方法是什么?目的是创建一个分散的系统,但仍然可以让客户以相对安全的方式对服务器进行识别。

有帮助吗?

解决方案 2

事实证明,解决方案是更好地定义我的问题。由于我只是想创建一种阻止应用程序的方法,因此我只需要在他们请求服务器时存储其名称和键。然后,只要它们没有被阻止并且关键与数据存储中的密钥匹配,就可以识别它们。因此,我并不是要为识别而验证太多。感谢您的输入!

其他提示

免责声明:我不是安全专家,所以我可以在这里脱离基础,而在实际实施中,似乎有许多安全问题需要解决。

从广义上讲,您能否将客户端供应凭证向身份验证器提供凭证,然后在验证后,身份验证器为客户端和服务器提供匹配的安全令牌,然后客户端和服务器可以直接通信?

只是对您不想实现OAuth并运行自己的OAuth服务器的原因感到好奇。

附加参考: http://groups.google.com/group/37signals-api/msg/aeb0c8bf67a224cc

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top