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 条信息可以帮助您到达目的地:-
- OAuth URL 可以包含一个
login_hint
这是您的目标用户的电子邮件
- OAuth URL 还可以包括
prompt=none
它将默默地工作
- 这一切都需要 运行 在 iframe 中,因为它基于来源和重定向。
==编辑==
如果要求浏览器客户端连接到浏览器用户以外的 Google 帐户,则这是不可能的。确实很明显,这样做需要浏览器中的凭据,根据定义,这不是一个安全的环境。
我将采用的方法是使用诸如 Lambda 或 Google Cloud Functions(或他们本周使用的任何营销名称)之类的服务来为相应的 Google API 使用存储的凭据 server-side.
有没有办法在没有用户交互的情况下自动验证 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 条信息可以帮助您到达目的地:-
- OAuth URL 可以包含一个
login_hint
这是您的目标用户的电子邮件 - OAuth URL 还可以包括
prompt=none
它将默默地工作 - 这一切都需要 运行 在 iframe 中,因为它基于来源和重定向。
==编辑==
如果要求浏览器客户端连接到浏览器用户以外的 Google 帐户,则这是不可能的。确实很明显,这样做需要浏览器中的凭据,根据定义,这不是一个安全的环境。
我将采用的方法是使用诸如 Lambda 或 Google Cloud Functions(或他们本周使用的任何营销名称)之类的服务来为相应的 Google API 使用存储的凭据 server-side.