Google AI Predict API: 网站匿名认证

Google AI Predict API: anonymous authentication for website

看完这些问答后,

我仍然不知道如何为不需要任何登录或 OAuth 屏幕的 AI Platform Predict API 启用简单身份验证。

我的场景如下:我们有一个静态网站,允许用户输入一些数据,网站(客户端)通过 API 将数据发送到模型进行预测,当结果出现时回来,网站将它们显示给用户。我们不希望用户必须以任何方式登录或表明自己的身份。只需输入一些数据,按下按钮,即可获得结果。

然而,据我所知,没有办法做到这一点(我认为关于身份验证的文档令人困惑,有多个重叠的文章并且很难确定适用于具体情况);您必须使用某种 OAuth,让用户使用 Google 帐户登录。

难道真的没有办法只对网站本身进行身份验证而不对个人用户进行身份验证吗?例如。使用 API 密钥或服务帐户密钥?

如果 OAuth 是唯一的方式,是否意味着想要使用该网站的用户必须拥有 Google 帐户?我如何启用它:我应该创建一个 OAuth 客户端 ID,还是 OAuth 同意屏幕?

此处推荐的做法是所有 OAuth 都应该发生在服务器端,其中 GCP 服务帐户 JSON 密钥存储在某些后端服务器上。

我假设您的网站托管在 App Engine, but your website could be hosted any where on other GCP products as Cloud Run 或任何其他托管服务提供商上来回答您的问题。

  • 在后端网络服务器中,您可以使用 Service Account JSON 发出 AI 平台预测请求,然后您需要配置您的网站以与该后端通信。

Website ----HTTP Request to App Engine URL------> App Engine (code---)--------> AI Platform

因此 App Engine 后端代表网站客户端执行身份验证,正如 Lak 所阐明的那样 here;由于请求将传递您的 GCP 服务帐户 JSON 密钥,因此他们有权将特定的 HTTP 请求发送到他们的后端服务器,从而调用 AI Platform。

在您的情况下,您不希望用户访问您的 Google 数据,您只是想让他们访问您的 自己的 AI 平台模型。

Basically you can just use Client Library on server-side and it automatically does OAuth for you, as long as environment variable is set to Service Account key.

注意:如果您想访问某个人的 Google 资源(例如 Google Doc,日历、GCP 项目等)