适用于旧版捆绑服务的 Users API

区域 ID

REGION_ID 是 Google 根据您在创建应用时选择的区域分配的缩写代码。此代码不对应于国家/地区或省,尽管某些区域 ID 可能类似于常用国家/地区代码和省代码。对于 2020 年 2 月以后创建的应用,REGION_ID.r 包含在 App Engine 网址中。对于在此日期之前创建的现有应用,网址中的区域 ID 是可选的。

详细了解区域 ID

Users API 允许应用执行以下操作:

  • 检测当前用户是否已登录。
  • 将用户重定向到相应的登录页面进行登录。
  • 要求您的应用用户创建新的 Google 账号(如果用户尚无 Google 账号)。

用户登录应用后,应用可以访问用户的电子邮件地址。 应用还可以检测当前用户是否为管理员(也称为“管理员用户”),从而轻松实现仅管理员能够访问的应用区域。

用户身份验证

以下示例在用户登录后向其展示个性化消息和退出登录链接。如果用户没有登录,则应用会提供 Google 账号的登录页面链接。

使用 app.yaml 强制要求登录和具备管理员权限

如果您的某些页面要求用户登录才能访问,您可以在 app.yaml 文件中强制执行此操作。

处理程序配置 还可以要求用户必须是应用的注册管理员;也就是说,用户必须具有 Viewer、Editor、Owner 或 App Engine Admin 角色。 这样一来,您无需实现单独的授权机制,即可构建仅限管理员访问的网站区域。

如需了解如何为网址配置身份验证,请参阅 app.yaml 参考文档中有关如何要求用户登录或具备管理员身份的内容。

身份验证选项

您的应用可以使用以下选项之一来验证身份用户:

  • Google 账号
  • 您的 Google Workspace 网域中的账号

选择身份验证选项

在创建应用后,您可以选择要使用的身份验证选项。默认情况下,您的应用将使用 Google 账号进行身份验证。如需选择其他选项(如 Google Workspace 网域),请在 Google Cloud 控制台中前往项目的设置页面,然后点击修改。在“Google 身份验证”下拉菜单中,选择所需的身份验证类型,然后点击保存

登录和退出登录

应用可以检测用户是否已使用应用所选的身份验证选项来登录应用。如果用户没有登录,则应用可以将用户定向到 Google 账号进行登录或者创建新的 Google 账号。应用通过调用 Users API 的方法获取登录页面的网址。当用户访问需要进行身份验证的页面时,应用可以将此网址显示为链接,也可以发出到此网址的 HTTP 重定向。

如果您的应用使用 Google 账号或 Google Workspace 进行身份验证,则应用的名称会在用户登录您的应用时显示在登录页面。所显示的名称是您在注册应用时指定的应用名称。您可以在 Google Cloud 控制台凭据页面的应用名称字段中更改此名称。

用户登录或创建 Google 账号后,会被重定向回您的应用。应用提供了指向生成登录网址的方法的重定向网址。

Users API 还提供一个生成网址供退出应用登录的方法。退出登录网址会从应用中撤消用户的身份验证,然后重定向回应用网址,但不显示任何内容。

用户只有在应用提示登录,并输入其账号的电子邮件地址和密码后,才能登录应用。即使用户已使用 Google 账号登录其他应用,也是如此。

访问账号信息

当用户登录应用时,应用可以访问其账号的电子邮件地址,以获取用户对应用发出的每个请求。应用还可以访问唯一标识用户的用户 ID,即使用户更改了账号的电子邮件地址也是如此。

应用还可以确定当前用户是否为应用的管理员。admin“管理员”用户是指具有 Viewer、Editor、Owner 或 App Engine Admin 角色的任何用户。即使您不验证其他用户的身份,也可以使用此功能为应用创建管理功能。通过 Go、Java、PHP 和 Python API,可以轻松将网址配置为“仅限管理员访问”。

Google 账号和开发服务器

开发服务器使用虚构登录屏幕来模拟 Google 账号系统。当应用调用 Users API 以获取登录屏幕网址时,该 API 会返回一个特殊开发服务器网址来提示用户输入电子邮件地址,但不提示输入密码。您可以在此提示中输入任何电子邮件地址,而应用将表现得就像您使用了拥有该地址的账号进行了登录。

虚构登录屏幕还提供一个复选框,用于指明虚构账号是否为管理员;也就是说,该账号是否具有 Viewer、Editor、Owner 或 App Engine Admin 角色。如果您勾选此复选框,则应用将表现得就像您使用了管理员账号进行了登录。

同样,Users API 返回一个用于取消虚构登录的退出登录网址。