我正在尝试授权用户在我们公司的内部网上使用Google Cloud Search(使用公司域)。如果用户已经通过GSuite进行了身份验证,则就像调用gapi.auth2.authorize()
一样简单。
但是,如果用户尚未通过Google身份验证(即浏览器中不存在google cookie),则会提示用户确认授权所需的电子邮件地址(我们可以将用户的公司电子邮件作为{ {1}}字段移至login_hint
)。
我们想提供一个...
(1)跨浏览器的无缝用户体验。弹出式解决方案在浏览器之间并不是无缝的,因为某些浏览器会自动阻止不是通过点击触发的弹出式窗口。
(2)无需额外提示即可处理的GCS功能。它不是“搜索应用程序”,而只是Intranet网站的搜索栏。具有弹出窗口仅出于搜索目的而授权的用户体验也很糟糕。
是否有一种使用api密钥/应用程序ID隐式授权用户在幕后的方式,以便用户可以执行搜索而不会遇到上述问题?
答案 0 :(得分:0)
是的,
尝试服务帐户授权,
答案 1 :(得分:0)
您可以使用Google API客户端库从后端进行API调用。这是Cloud Search this的参考。
您可以grant following scope到service account并从后端进行搜索查询,然后将结果发送到前端,而不用使用浏览器中OAuth授权生成的访问令牌:
从here中检出Cloud Search API。