使用 JsonRPC 进行 Android Web 服务器身份验证
我一直在做一些研究,似乎使用 Android 客户端/PHP 服务器应用程序的最佳选择是使用 JsonRPC。我的问题是,身份验证机制如何工作? 我会使用 Zend 作为 json 服务器,并使用 Android-json-rpc 作为客户端。或者有更好的方法来进行远程身份验证吗?
I've been doing some research and it seems my best option to go with an Android-Client/PHP-Server application is by using JsonRPC. My question is, How would an authentication mechanism work?
I'd use Zend for json server and Android-json-rpc as client. Or is there a better way to do a remote authentication?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想做一个简单的 API 密钥,那么在每个 JSON 调用中,客户端将传递身份验证密钥,并且在 php 端的每个方法中将获取密钥并对其进行身份验证。
如果您想进行会话类型身份验证,则必须首先调用将 session_id 返回给客户端的身份验证方法。然后,客户端将在每个后续方法中发送会话密钥。在这些方法中,服务器可以检查会话密钥。
我一直在寻找一种从实际的 json RPC 方法中干净地抽象身份验证的方法,但是如果您直接使用 Zend_Json_Server,则无法做到这一点。你也许可以延长它,但对我来说,这不值得这么麻烦。
If you want to do a simple API key then in every JSON call, the client would pass the auth key and in each method on the php side would get the key and authenticate it.
If you wanted to do session type authentication, you would have to first call an authenticate method that would return the session_id to the client. The client would then send the session key in every subsequent method. Within the methods, the server could then check the session key.
I have looked for a way to cleanly abstract authentication out of the actual json RPC methods, but if you use Zend_Json_Server directly, there is no way to do it. You may be able to extend it, but to me, it wasn't worth the hassle.
就像浏览器一样。浏览器还使用 cookies 在每个请求中发送会话 ID。您可以通过将该 id 附加到每个请求来使用 java REST 客户端构建类似的功能。然后在 php 代码中,您可以做
您的其余客户端将在每个请求中发送此 session_id 进行识别。这样你就可以像使用浏览器一样使用 php 会话。
just like browser works . Browser also sends session id in every request using cookies . You can build the similar functionality with your java REST client by appending that id to every request .Then in php code you can do
your rest client will send this session_id in every request to be identified. This way you can use php sessions just like with browsers.