使用Google Cloud Search对网站进行隐式Google API授权

时间:2019-04-04 23:16:35

标签: javascript google-cloud-platform gapi

我正在尝试授权用户在我们公司的内部网上使用Google Cloud Search(使用公司域)。如果用户已经通过GSuite进行了身份验证,则就像调用gapi.auth2.authorize()一样简单。

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

我们想提供一个...

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

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

是否有一种使用api密钥/应用程序ID隐式授权用户在幕后的方式,以便用户可以执行搜索而不会遇到上述问题?

2 个答案:

答案 0 :(得分:0)

是的,

尝试服务帐户授权,

答案 1 :(得分:0)

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

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

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

here中检出Cloud Search API。