繁体   English   中英

应用服务器如何将Google帐户与用户的设备相关联?

[英]How can an application server associate Google accounts to a user's device?

我希望用户能够从Web服务器和/或原生PC应用程序输入数据并将其传输到他们选择的Android设备,就像Google Play在设备上安装的方式一样。

我想使用用户的Google帐户身份验证在应用服务器和向GCM注册的用户的Android设备之间建立链接。

我在Google云端消息传递API文档中找不到如何处理此类身份验证,但确实在GCM论坛中找到了这个未解决的问题

我想通过他或她的Google帐户通过网络应用程序对用户进行身份验证。 同样,Android应用程序会以某种方式获取同一Google帐户的句柄,该帐户将在初始GCM注册的同时发送到Web应用程序服务器。

然后,当用户使用Web应用程序时,服务器提供用户已经注册到服务器的设备列表,以便可以提示用户他或她想要将数据发送到哪个Android设备。

如何在Web服务器和设备上完成此操作?

在使用Google帐户进行身份验证后,我可以使用哪些信息在两次登录之间建立链接?

您应该使用注册后从Google帐户服务器返回的user_id来唯一标识每个用户。 不得出于多种原因使用电子邮件地址:

  • 访问电子邮件地址可能需要用户提供其他权限,并且由于信任问题而阻止用户使用您的服务/应用。
  • 增加保护用户电子邮件地址数据库的责任
  • 用户可以更改Google帐户中的电子邮件地址,但无法更改其用户ID。
  • 用户可以将一个电子邮件地址与多个用户ID相关联,因此它不一定是唯一的。

以下序列图显示了客户端Android应用程序的初始注册:

从客户端Android应用初始注册

下图显示了客户端想要从浏览器访问其设备时会发生什么:

客户想要从浏览器访问他的设备

请注意,虽然未显示,但客户端Android应用程序现在可以通过应用程序服务器在需要时与客户端浏览器进行通信。

您在注册GCM时从设备获得的user_id应与您使用应用的OAuth令牌获得的user_id相同。 只需将OAuth令牌和注册ID存储在用户存储库中,并将其与user_id相关联。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM