Chrome哪个登录?要使用Firebase Chrome?

时间:2019-03-14 17:29:00

标签: firebase google-signin google-pay

我想在Firebase网络应用程序中使用Google Pay。用户登录该应用程序中的Google帐户。我已经为此测试了Google Developers的示例代码。似乎工作正常。

从Firebase应用程序注销时除外。然后,Google Pay代码似乎仍然有效。显然现在使用的是我用来登录Google Chrome的帐户。

所以我不确定Google Pay会看到哪个用户。我可以测试一下,但是我需要确定。这应该如何工作?记录在哪里?

1 个答案:

答案 0 :(得分:1)

Web应用程序的托管方式(Firebase或其他)无关紧要,Google Pay将在当前登录的Google用户的上下文中启动。

一种验证方式是访问https://pay.google.com/。它将向您显示当前登录用户的付款细节。


编辑:做出澄清(对长度表示歉意)

  

我想在Firebase网络应用程序中使用Google Pay。

假设在这种情况下, I 是您的 developer

  

除了我从Firebase应用程序注销时。

假设在这种情况下, I 是您的用户,退出Web应用程序而不是Firebase控制台。

  

用户在应用程序中登录Google帐户。

该网络应用使用Google身份验证用户身份-对吗?

  

似乎工作正常。

     

从Firebase应用程序注销时除外。然后Google Pay代码似乎仍然可以工作。

您正在描述以下情况吗?

  1. 用户未登录Google
  2. 用户使用Google身份登录网络应用,并显示在Google登录屏幕上
  3. 用户从应用程序内单击Google Pay按钮-一切按预期运行
  4. 用户退出网络应用
  5. 用户退出Web应用后是否返回该Web应用?
  6. 用户以匿名用户的身份从Web应用程序中单击Google Pay按钮(从Web应用程序的角度来看)-这会显示Google用户的付款详细信息,这不是您所期望的

如果是,则:

  • 步骤2:发生两件事
    • Google设置cookie以保持对用户身份的跟踪
    • Google将auth令牌返回给您的应用,您的应用通常会使用它来通过auth令牌维护会话状态
  • 第3步:使用第2步中设置的Cookie,Google会提供相关的付款方式
  • 第4步:退出Web应用程序应清除用户的Web应用程序会话状态,但不会使用户退出Google
  • 第6步:由于Google cookie仍然存在,因此Google Pay继续显示用户的付款明细

从我的角度来看,这按预期进行。

该Web应用程序的会话与Google会话是分开的,可以将其视为使用Google引导其自己的会话的Web应用程序。一旦启动,它们将彼此断开连接。

用户可以在引导后退出Google,这不会影响Web应用程序。如果该用户以其他用户身份登录Google,则他们将收到不同的Google Pay个人资料,即使以第一个Google身份登录网络应用程序,他们也应该能够使用第二个Google身份的详细信息来完成付款。

您应该能够通过以下方法验证此行为:退出网络应用程序后访问https://pay.google.com/,然后退出Google后再访问一次,然后以其他身份再次登录。