我一直在做一些研究,似乎我最好选择使用Android-Client / PHP-Server应用程序是使用JsonRPC。我的问题是,身份验证机制将如何运作? 我将Zend用于json服务器,Android-json-rpc用作客户端。或者有更好的方法来进行远程身份验证吗?
答案 0 :(得分:0)
就像浏览器一样。浏览器还使用cookie在每个请求中发送会话ID。您可以通过将该id附加到每个请求来与您的Java REST客户端构建类似的功能。然后在PHP代码中可以执行
session_id($_GET('session_id'));
session_start();
您的其他客户端将在每个要识别的请求中发送此session_id。这样你可以像浏览器一样使用php会话。
答案 1 :(得分:0)
如果你想做一个简单的API密钥,那么在每个JSON调用中,客户端都会传递auth密钥,并且在php端的每个方法中都会得到密钥并对其进行身份验证。
如果要进行会话类型身份验证,则必须首先调用将session_id返回给客户端的authenticate方法。然后,客户端将在每个后续方法中发送会话密钥。在这些方法中,服务器可以检查会话密钥。
我已经找到了一种从实际的json RPC方法中彻底抽象身份验证的方法,但是如果直接使用Zend_Json_Server,则无法实现。你可以扩展它,但对我来说,这不值得麻烦。