使用不同的client_id多次调用gapi.auth2.init

时间:2018-11-29 15:15:28

标签: angular google-authentication gapi clientid

当用户管理员可以创建其他Google帐户时,我有一个单独的网页(angular6应用程序)。我使用gapi通过grantOfflineAccess获取后台代码。这需要一个GoogleAuth实例,因此在将新的client_id设置为选项之前,我要做一个gapi.auth2.init(options),但是在官方文档中说,一旦我调用init方法,它将始终使用相同的client_id。

唯一的解决方案是重新加载页面(F5)。 即使client_id不正确,我也不能让用户更改它。

调用授权不起作用,因为我需要将grantOfflineAccess代码发送到api,并且这是GoogleAuth方法。

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

我知道的唯一可能是使用 gapi.auth2.authorize,它允许:

<块引用>

在同一页面内使用多个客户端 ID

来源:https://developers.google.com/identity/sign-in/web/reference#gapiauth2authorizeparams_callback

但我认为 init() 方法是最安全的方法。