【问题标题】:Implicit Google API authorization for site using Google Cloud Search使用 Google Cloud Search 对网站进行隐式 Google API 授权
【发布时间】:2020-01-16 19:28:47
【问题描述】:

我正在尝试授权用户在我们公司的 Intranet 上使用 Google Cloud Search(使用公司域)。如果用户已经通过 GSuite 进行了身份验证,则只需调用 gapi.auth2.authorize() 即可。

但是,如果用户尚未通过 Google 进行身份验证(即浏览器中不存在 google cookie),则会提示用户确认授权所需的电子邮件地址(我们可以将用户的公司电子邮件作为 @ 987654322@ 字段到authorize())。

我们想提供一个...

(1) 跨浏览器的无缝用户体验。弹出式解决方案在浏览器之间不是无缝的,因为某些浏览器会自动阻止不是通过点击触发的弹出式窗口。

(2) 无需额外提示即可处理的 GCS 功能。它不是一个“搜索应用程序”,它只是一个内部网站的搜索栏。仅出于搜索目的而授权弹出窗口也是一种糟糕的用户体验。

有没有办法使用 api 密钥/应用程序 ID 在后台隐式授权用户,以便用户执行搜索而不会遇到上述问题?

【问题讨论】:

    标签: javascript google-cloud-platform google-api-js-client


    【解决方案1】:

    绝对是的,

    尝试服务帐户授权,

    【讨论】:

      【解决方案2】:

      您可以使用 Google API 客户端库从后端进行 API 调用。这是 Cloud Search this 的参考。

      您可以将grant following scopeservice account从您的后端进行搜索查询并将结果发送到前端,而不是使用浏览器中的OAuth授权生成的访问令牌:

      https://www.googleapis.com/auth/cloud_search

      查看来自here 的 Cloud Search API。

      【讨论】:

        猜你喜欢
        • 2018-12-28
        • 1970-01-01
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        • 2015-08-21
        • 1970-01-01
        • 2016-06-10
        • 2021-03-18
        相关资源
        最近更新 更多