我一直在开发使用Ruby on Rails的Web服务器应用程序和使用Android的客户端。 Web服务器有一些到客户端访问的路由,没有身份验证。我想创建一个令牌来验证请求是否来自客户端。我想像这样的解决方案:
以下是我的疑惑:
请不要犹豫,描述一个建议或示例来指导我=)
提前致谢
答案 0 :(得分:2)
更安全和标准的方法是使用SSL客户端证书。
为每个新版本的应用颁发客户端证书,确保使用仅由您或您的签名CA拥有私钥的证书(即CA证书)进行签名。
在允许连接之前,将Web服务器设置为需要客户端证书。设置Web服务器以再次验证您持有的CA证书的证书。
这样就没有可以从您的应用中提取的“共享秘密”。如果有人提取并窃取客户端证书,请使用新证书发布应用程序的更新版本,然后将旧证书添加到CA的撤销列表中,或者只是告诉Web服务器阻止该特定证书。
没有要编写的ruby,java或javascript代码。