主页/WordPress笔记/博客文章/综合文章/如何在 WordPress 中添加通过谷歌的一键登录

如何在 WordPress 中添加通过谷歌的一键登录

Bug编译狮

Bug编译狮

要为您的 WordPress 网站设置 Google 一键登录功能,您首先需要确保您的网站已启用 HTTPS(安全的 HTTP)以增强安全性。接着,您需要安装并激活 Google 身份验证插件,例如 “Google Sign-In for WordPress” 或者 “GTM-Login”。

接下来,按照插件的安装向导或官方文档来配置 Google 账户和相关设置。这可能包括创建应用、获取客户端 ID 和秘密等信息。请注意,这些信息需要保密,不应与公众分享。

一旦完成了所有设置,您就可以通过在 WordPress 后台访问身份验证部分来启用 Google 登录选项。然后,您可以选择从多个可用的服务中选择 Google 并将其作为登录方式之一。

最后,测试一下您的 Google 一键登录设置,确保一切按预期工作。如果您遇到任何问题,请查阅插件的帮助文档或者寻求社区支持。

以下是一个简单的示例代码,用于在 WordPress 的 functions.php 文件中添加 Google 登录链接:

// 添加 Google 登录链接到侧边栏
function add_google_login_link() {
    echo '<a href="https://accounts.google.com/o/oauth2/auth?client_id=YOUR_CLIENT_ID&redirect_uri=https%3A%2F%2Fyourwebsite.com%2Fgoogle-oauthcallback&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email">Sign in with Google</a>';
}
add_action('wp_footer', 'add_google_login_link');

在这个示例中,你需要将 YOUR_CLIENT_ID 替换为您从 Google 控制台获得的实际客户端 ID。这个代码片段会在页面底部显示一个指向 Google 登录页面的链接。当用户点击该链接时,他们会被重定向到 Google 登录页面,然后可以使用他们的 Google 账号进行登录。

注意:上述示例中的 URL 需要替换为您实际的回调 URL 地址。如果您的域名不在同一个服务器上,您还需要提供完整的 URL,包括协议(如 https)。

黑板前的Bug语法讲师

黑板前的Bug语法讲师

要在WordPress中实现一键登录功能,你可以使用Google的OAuth2.0协议和WordPress插件。下面是一些步骤和示例代码:

1. 安装并激活Google OAuth2.0插件

首先,你需要安装并激活Google OAuth2.0插件。这个插件会帮助你在WordPress上设置OAuth2.0流程。

步骤:

  • 打开WordPress管理后台。
  • 点击左侧菜单栏中的“插件” > “启用” > “搜索”并找到“Google OAuth2.0”。
  • 单击“启用”,然后单击“更新”。

2. 设置Google API密钥

接下来,你需要创建一个Google API密钥文件。这将包含用于访问Google服务的基本信息,如项目ID、应用类型等。

步骤:

  • 在Google Cloud Console中,转到“APIs & Services” > “Credentials”。
  • 创建一个新的凭据(例如,选择“客户端 ID”)。
  • 将“授权用户”部分填写为你的网站域名。
  • 确保勾选“允许从外部获取访问令牌”选项。
  • 勾选“允许第三方应用读取或修改资源”选项,以允许应用程序读取和修改权限。
  • 保存并下载生成的JSON格式的文件。

3. 配置WordPress插件

现在,配置WordPress插件以与Google OAuth2.0集成。

步骤:

  • 登录到WordPress管理后台。
  • 搜索并点击“Google OAuth2.0”插件。
  • 点击“配置”按钮进入配置页面。
  • 在“基本设置”部分,确保已正确选择了你的Google API密钥文件。
  • 在“验证方法”部分,选择“Google凭据”。这将在网页浏览器中打开Google凭据页,让你输入凭据中的“access_token”和“refresh_token”来完成验证。
  • 在“回调URL”部分,填写你的网站域名。这将是处理来自Google服务器的响应后跳转到的URL。
  • 在“状态参数”部分,填入你的网站的唯一标识符。通常,这是一个唯一的字符串值,可以是你网站的URL的一部分。
  • 点击“保存”以保存配置。

4. 添加Google身份验证器

最后一步是在WordPress中添加Google身份验证器。

步骤:

  • 在WordPress主题中,找到并编辑functions.php文件。
  • 寻找并替换以下代码片段:

    // Add Google Identity Provider to WordPress.
    add_action('init', 'google_login');
    function google_login() {
    // Get the current user and their ID.
    $current_user = wp_get_current_user();
    if ($current_user->is_user_logged_in()) {
        return;
    }
    
    // Set up the Google client.
    $client_id = get_option('google_client_id');
    $client_secret = get_option('google_client_secret');
    
    if (!isset($client_id) || !isset($client_secret)) {
        return;
    }
    
    $scope = isset($_GET['scope']) ? $_GET['scope'] : '';
    $redirect_uri = isset($_GET['redirect_uri']) ? $_GET['redirect_uri'] : '';
    
    $client = new Google_Client();
    
    // Use the credentials from the options or the environment variables.
    $client->setClientId($client_id);
    $client->setClientSecret($client_secret);
    $client->setRedirectUri($redirect_uri);
    
    // If a scope is specified, add it to the request.
    if (strlen($scope) > 0) {
        $client->setScopes(array($scope));
    } else {
        $client->setScopes(array(
            'https://www.googleapis.com/auth/userinfo.email',
            'https://www.googleapis.com/auth/userinfo.profile'
        ));
    }
    
    // Redirect the user to the authorization URL.
    $auth_url = $client->createAuthUrl();
    
    // Display the authentication form.
    echo '<a href="' . esc_url($auth_url) . '">' . __('Login with Google', 'your-plugin-name') . '</a>';
    }
  • 替换google_client_idgoogle_client_secret为你的Google API密钥中的实际值。
  • 替换redirect_uri为你的网站域名。

5. 测试

完成后,你应该可以在你的WordPress站点上看到Google登录界面。如果一切正常,用户应该能够通过Google账户登录您的网站。

以上就是在WordPress中实现一键登录过程的简单教程。根据需要调整Google API密钥和其他配置以适应你的需求。