我们如何使用Google Play服务进行后端服务器验证?

时间:2013-05-22 01:09:37

标签: php android google-api-java-client google-oauth

我正在关注这些文章:Verifying Back-End Calls from Android AppsStopping Vampires using License Verification Library (from 24:57 to 25:34),以便为我们的Android应用实施应用内购买验证系统。

我对端到端的工作方式有点困惑,以及当AccountManager返回多个帐户时,我们可以假设使用找到的第一个电子邮件地址调用GoogleAuthUtil.getToken()生成的令牌。我的问题如下:

  1. 我们是否应该假设用户使用我们的任何电子邮件地址 应用程序将生成相同的令牌(即相同的用户+ app ==>相同 令牌)?

  2. 如果问题1的答案为否,是否有办法在应用内启动 购买特定帐户/电子邮件?

  3. Google似乎正在挑选返回的第一个电子邮件地址 AccountManager用于其应用内购买对话框。我们可以假设吗? 在应用程序内购买对话框之后,用户不会更改此内容 推出?我们如何知道在应用程序之后这是否发生了变化 购买退货?

  4. 我们应该在数据库中存储哪些内容来识别此用户?是电子邮件 允许的地址和/或令牌?令牌什么时候到期?

  5. java-client库起初非常有前途和强大 读。但是,许多事情仍然令人困惑。有文章吗? 描述端到端场景 - 来自启动a的应用程序 通过启动应用内购买来呼叫后端服务器 对话框,获取结果并关闭服务器上的提交?

  6. 哪些文章对于在Android上完成此操作最有用?

  7. 我们要解决的主要问题是要全面了解。

    我们已经认识到,我们可以通过使用java客户端功能和使用令牌来避免使用用户ID /密码。我们根据Google API控制台的说明注册了我们的项目(同一项目中的Web应用程序和Android应用程序)。我们的后端服务器上有用于Google Play服务的php java-client。我们使用Android应用程序使用第一个电子邮件地址生成令牌,然后调用应用内购买对话框并在对话结束时处理用户响应。我们有零件。现在,我们需要将所有东西粘在一起。我们正在与后端服务器集成。例如,什么是重定向URi应该指向我们的服务器?我们有一个php网址,我们为我们的服务器应用程序发送http post消息。我们已经包含了Google API客户端示例的代码示例 - 填充了client-id,secret,simple api key等 - 作为我们php的包含。但是,我们应该在重定向uri中添加什么(我们缺少示例代码的使用说明)?

    此外,我们希望避免将用于应用内购买的电子邮件与我们登录服务器数据库时的电子邮件不同,这是用户购买应用程序时使用的地址。如果地址是正确的跟踪,我们希望它与购买时使用的相同。如果我们犯了这个错误并阻止他们使用他们支付的功能,这对我们的用户来说可能会令人沮丧。我们不想犯这个错误,需要澄清Google Play服务的运作方式。如果我们启动工作流的服务器部分以获取Android设备上第一个电子邮件地址的应用Nonce / Payload / Credentials,我们希望在整个工作流程中使用该地址。如果用户沿着这条线改变了这一点,我们希望了解这一点并优雅地恢复。到目前为止,文章有用但不完整。任何见解/建议都表示赞赏。

0 个答案:

没有答案