📅  最后修改于: 2023-12-03 15:22:15.495000             🧑  作者: Mango
在开发 Web 应用程序时,使用 Google 帐户登录是一种非常常见的认证方式。在 PHP 中,可以使用 Google 提供的 API 实现此功能。本文将介绍如何通过 PHP 源代码下载并使用 Google 帐户登录。
首先,您需要在 Google 开发者控制台中创建一个项目。如果您尚未创建 Google 帐户,请前往 https://console.developers.google.com/ 进行操作。为了使用 Google 登录 API,您需要为您的应用程序注册。输入您的项目名称和您的域名,然后点击“创建”。
接下来,您需要启用 Google 登录 API。在项目概览页面中,点击“API 和服务”,然后点击“库”。在库页面中搜索“Google 登录 API”,然后点击“启用”。
在启用 Google 登录 API 后,您需要创建 OAuth 2.0 客户端 ID。点击“凭据”,然后点击“创建凭据”。在“创建凭据”页面中,选择“OAuth 客户端 ID”,然后选择“网络应用程序”。
在“常规信息”中,输入您的应用程序名称和授权重定向 URI。您可以在此处指定重定向 URI,以指定用户在授权后应被重定向到的 URL。您需要为您的服务端指定一个端点。如果您不熟悉服务端编程,可以使用 www.example.com。
在“授权范围”中,选择您需要访问的 API。由于此处您需要访问 Google Login API,请选择“openid”和“profile”。
创建 OAuth 2.0 客户端 ID 后,您将收到一个客户端 ID 和客户端密钥。您需要将这些信息存储在您的应用程序中,以便在使用 Google 登录 API 时进行身份验证。
Google 官方提供了一个 PHP API 客户端,您可以使用它来轻松地与 Google API 进行交互。您可以从 https://github.com/googleapis/google-api-php-client/releases 下载它。
以下是使用 PHP 源代码实现 Google 帐户登录的示例代码:
<?php
require_once('vendor/autoload.php');
// Replace with your client ID and secret
$client_id = '[YOUR_CLIENT_ID]';
$client_secret = '[YOUR_CLIENT_SECRET]';
$redirect_uri = 'http://localhost/login.php';
// create Google Client object
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri($redirect_uri);
$client->addScope("openid https://www.googleapis.com/auth/userinfo.profile");
// create auth url
$auth_url = $client->createAuthUrl();
// display login url
echo "<a href='$auth_url'>Click here to login with Google</a>";
// handle authentication response
if (isset($_GET['code'])) {
$token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
$client->setAccessToken($token['access_token']);
$oauth = new Google_Service_Oauth2($client);
$user = $oauth->userinfo->get();
echo "Hello, " . $user->name . "!";
}
?>
请注意,上述代码中的 $client_id 和 $client_secret 必须用您的客户端 ID 和客户端密钥替换。此外,请将 redirect_uri 替换为您应用程序的实际重定向 URI。
通过本文,您已经学习了如何通过 PHP 源代码下载并实现谷歌帐户登录。此外,本文还提供了用于处理用户身份验证响应的示例代码。如果您还没有使用 Google 帐户登录,那么现在就是时候开始了!