我正在构建一个将连接到服务器的小型 Android 应用程序。
我的应用程序会使用简单的帖子向我的服务器发送消息,而我正在使用 Google Cloud Messaging 让服务器向我的应用程序发送消息。
我构建了一个注册页面、一个电子邮件确认和一个连接页面,但现在我想知道如何锁定服务器和应用程序之间的通信。
这是我想到的协议(protocol)(让我们以应用到应用消息的简单示例为例):
- 应用将帖子信息与 self 信息(如名称和 auth_token)、目标用户和消息一起发送到服务器
- 服务器搜索属于目标用户的应用程序并使用
curl
将消息转发给GCM - GCM 将消息发送到目标应用
服务器如何确定服务器收到的名称、auth_token 等确实来自发件人?
最佳答案
让服务器在客户端进行注册时生成身份验证 token 并将其发送回客户端。服务器现在知道 [client - token] 映射。
每次客户端要发送消息时,它还会发送服务器可以查找和检查的身份验证 token 。客户端甚至不必发送他或她的名字,服务器应该知道这一点。
要防止 MITM 攻击,请使用安全连接 (HTTPS)。
关于android - 应用服务器通信协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33462678/