【问题标题】:Call gapi.auth2.init many times with different client_id使用不同的 client_id 多次调用 gapi.auth2.init
【发布时间】:2019-05-01 16:47:56
【问题描述】:

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

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

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

有什么想法吗?

【问题讨论】:

  • 对不起,我真的不明白你为什么需要在多个client_id之间切换。此 ID 应与您的应用关联,而不是与用户帐户关联。你能给我更多的细节吗?
  • 你是对的。我最近和产品负责人谈过这件事。我们可以使用同一个应用程序创建多个谷歌帐户。谢谢

标签: angular google-authentication google-api-js-client clientid


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2018-09-05
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多