如何能在应用程序服务器关联谷歌账号用户的设备?(How can an application ser

2019-06-28 04:15发布

我希望用户能够从Web服务器和/或本机PC应用程序输入数据,并在很大程度上转移到他们所选择的Android设备同样的方式,谷歌Play的安装在设备上的作品。

我想使用用户的谷歌帐户认证 ,建立应用服务器以及与GCM注册用户的Android设备之间的联系。

我找不到如何处理这类的谷歌云通讯在验证的任何提及API文档 ,但没有找到这个没有答案的问题在GCM论坛。

我想经由他或她的谷歌帐户的Web应用程序验证用户身份。 同样,Android应用程序会以某种方式获得相同的谷歌帐户的手柄,这将在同一时间初始注册GCM一旦被发送到Web应用程序服务器。

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

我怎样才能在Web服务器上,以及在设备上做到这一点?

我可以用谷歌帐户验证来建立两个登录之间的链接后,使用什么样的信息?

Answer 1:

您应该使用user_id是从谷歌帐户服务器返回后注册唯一标识每个用户。 电子邮件地址不应该被用于以下几个原因:

  • 访问电子邮件地址可能需要用户额外的权限和使用,因为信任问题您的服务/应用劝阻用户。
  • 增加责任为确保用户的电子邮件地址的数据库
  • 用户可以改变他们的电子邮件地址在谷歌帐户,但不能改变他们的用户ID。
  • 用户可以使用一个以上的用户ID一个电子邮件地址关联,所以它不一定是唯一的。

下面的序列图显示了从客户端Android应用初始登记:

下一个图显示当客户想从浏览器访问自己的设备时会发生什么:

需要注意的是,虽然没有显示,客户端Android应用程序现在如果通过应用服务器通信,需要返回到客户端浏览器。



Answer 2:

user_id你,当你与GCM注册设备获取应该是一样的,你与你的OAuth令牌为您的应用程序获得USER_ID。 只是存储在用户系统信息库OAuth令牌和注册ID,既与USER_ID相关联。



文章来源: How can an application server associate Google accounts to a user's device?