Google javascript api 客户端,自动登录同一个账号不弹出

Google javascript api client, automatically login to same account without popup

有没有办法在没有用户交互的情况下自动验证 google javascript api 客户端?

像这样: 用户加载网页 -> 网页自动登录到预定义的用户帐户 -> api 调用被执行

基本上我想阻止弹出窗口,您必须 select 一个帐户并登录它。由于将要登录的帐户始终相同。

编辑:

pinoyyid 的答案看起来很有希望,这正是我正在寻找的。但这只有在用户至少使用一个帐户登录过一次的情况下才有效,如果我没记错的话。

现在我不想使用用户提供的帐户,而是使用我是其所有者的预定义帐户并登录该帐户。

我不确定这是否可行,因为我必须向 google 提供 password/some 身份验证代码,并以某种安全的方式执行此操作。

用例:网站将通过 Youtube Data/Livestream API 为指定帐户创建 Youtube 广播。

是的,你可以做到。参考https://developers.google.com/identity/protocols/oauth2/javascript-implicit-flow 有 3 条信息可以帮助您到达目的地:-

  1. OAuth URL 可以包含一个 login_hint 这是您的目标用户的电子邮件
  2. OAuth URL 还可以包括 prompt=none 它将默默地工作
  3. 这一切都需要 运行 在 iframe 中,因为它基于来源和重定向。

==编辑==

如果要求浏览器客户端连接到浏览器用户以外的 Google 帐户,则这是不可能的。确实很明显,这样做需要浏览器中的凭据,根据定义,这不是一个安全的环境。

我将采用的方法是使用诸如 Lambda 或 Google Cloud Functions(或他们本周使用的任何营销名称)之类的服务来为相应的 Google API 使用存储的凭据 server-side.