哪个签到 Chrome?到 Firebase 的 Chrome?

Which sign in Chrome? To Chrome of Firebase?

我想在 Firebase 网络应用中使用 Google 支付。用户在应用程序中登录 Google 帐户。为此,我已经测试了来自 Google 开发人员的示例代码。好像还不错。

除非我退出 Firebase 应用。然后 Google 支付代码似乎仍然有效。显然现在使用我登录 Google Chrome 的帐户。

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

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

一种验证方法是访问 https://pay.google.com/。它将显示当前登录用户的付款详细信息。


编辑:回应澄清(对长度表示歉意)

I want to use Google Pay in a Firebase web app.

假设 I 在这种情况下您是 开发人员

Except when I sign out from the Firebase app.

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

The user signs in to a Google account in the app.

Web 应用程序使用 Google 身份验证用户 - 正确吗?

It seems to work fine.

Except when I sign out from the Firebase app. Then the Google Pay code still seems to work.

您描述的场景是否如下?

  1. 用户未登录Google
  2. 用户使用 Google 身份登录 Web 应用程序并显示在 Google 登录屏幕
  3. 用户在应用内点击 Google 支付按钮 - 一切正常
  4. 用户退出网络应用程序
  5. 用户 returns 在退出 Web 应用程序后转到 Web 应用程序?
  6. 用户以匿名用户的身份(从网络应用程序的角度)从网络应用程序中点击 Google 支付按钮 - 这会显示 Google 用户的支付详细信息,这不是您想要的预计

如果是,则:

  • 第 2 步:发生两件事
    • Google 设置 cookie 以保持跟踪用户身份
    • Google returns 您的应用程序的授权令牌,您的应用程序通常会使用此授权令牌来维护会话状态
  • 第 3 步:使用第 2 步中设置的 cookie,Google 提供相关付款方式
  • 第 4 步:退出 Web 应用程序应该清除用户的 Web 应用程序会话状态,但它不会使用户退出 Google
  • 第 6 步:由于 Google cookie 仍然存在,Google Pay 继续呈现用户的付款详细信息

在我看来,这是按预期工作的。

Web 应用程序的会话与 Google 会话是分开的,将其视为使用 Google 到 bootstrap 自己的会话的 Web 应用程序。一旦 bootstrapped,它们就会彼此断开连接。

用户可以在 bootstrapping 之后退出 Google,这应该不会影响 Web 应用程序。如果用户以不同的用户身份登录 Google,他们将收到不同的 Google 付款配置文件,并且尽管登录到网络,他们应该能够使用第二个 Google 身份的详细信息完成付款应用程序作为第一个 Google 身份。

您应该能够通过在退出 Web 应用程序后访问 https://pay.google.com/,然后在退出 Google 后再次访问,然后使用不同的身份再次登录来验证此行为。