将 Google 登录功能集成到您的 Web 应用中

<ph type="x-smartling-placeholder">

Google 登录负责管理 OAuth 2.0 流程和令牌生命周期, 简化与 Google API 的集成。用户始终可以选择 撤消对特定应用的访问权限 应用

本文档介绍了如何完成基本的 Google 登录功能集成。

创建授权凭据

任何使用 OAuth 2.0 访问 Google API 的应用都必须具有授权凭据 来向 Google 的 OAuth 2.0 服务器标识应用以下步骤说明了如何 为项目创建凭据然后,您的应用就可以使用这些凭据访问 API 为该项目启用的功能

  1. Go to the Credentials page.
  2. 依次点击创建凭据 > OAuth 客户端 ID
  3. 选择 Web 应用应用类型。
  4. 为您的 OAuth 2.0 客户端命名,然后点击创建

配置完成后,请记下创建的客户端 ID。 您需要客户端 ID 才能完成后续步骤。(客户端密钥也是 但您只需将其用于服务器端操作)。

加载 Google 平台库

您必须在集成了 Google 登录。

<script src="https://apis.google.com/js/platform.js" async defer></script>

指定应用的客户端 ID

指定您在 Google Developers Console 中为自己的应用创建的客户端 ID 替换为 google-signin-client_id 元元素。

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

添加 Google 登录按钮

要向您的网站添加 Google 登录按钮,最简单的方法就是使用 自动呈现的登录按钮。只需几行代码,您就可以 添加一个按钮,该按钮可自动将自身配置为显示相应的文本 用户登录状态以及您所请求的范围的徽标和颜色。

如需创建使用默认设置的 Google 登录按钮,请添加 div 类为 g-signin2 的元素添加到登录页面:

<div class="g-signin2" data-onsuccess="onSignIn"></div>

获取个人资料信息

使用默认范围的用户通过 Google 登录后,您可以 访问用户的 Google ID、姓名、个人资料网址和电子邮件地址。

要检索用户的个人资料信息,请使用 getBasicProfile() 方法。

function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}

退出用户

您可以允许用户在不退出 Google 的情况下退出您的应用,方法为: 添加退出按钮或指向您网站的链接。要创建退出登录链接,请附加 一个用于调用 GoogleAuth.signOut() 方法。onclick

<a href="#" onclick="signOut();">Sign out</a>
<script>
  function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
      console.log('User signed out.');
    });
  }
</script>