开发文档

快速了解如何接入第三方登录,详细的API说明与使用指南

概述

零度聚合 是一款社会化账号聚合登录系统,基于 OAuth2.0 协议,为网站提供统一、便捷的第三方登录服务。 开发者只需简单的几步操作,即可在自己的网站上集成微信、QQ、支付宝、微博等多种第三方登录方式。

前提条件
  • 已注册 零度聚合 账号并登录用户中心
  • 已创建应用并获取 AppID 和 AppSecret
  • 您的网站支持 PHP 7.1+ 或其他语言环境

快速开始

只需 4 步即可完成第三方登录接入:

1

注册账号

访问用户中心注册账号,进入应用管理创建您的应用,获取 AppID 和 AppSecret。

2

配置回调地址

在应用设置中填写您网站的回调地址(如 https://yourdomain.com/callback.php)。

3

发起登录请求

在您的网站登录页面,添加第三方登录按钮,引导用户跳转至登录授权页面。

4

处理回调并获取用户信息

用户授权后,系统会回调至您设置的地址,您可以通过API获取用户的基本信息。

示例代码

以下是一个简单的 PHP 接入示例:

PHP - 登录按钮
<?php
// 配置信息
$appid  = '您的AppID';
$secret = '您的AppSecret';
$callback = 'https://yourdomain.com/callback.php';

// 发起登录 - 以QQ为例
$loginUrl = "https://您的域名/connect.php?type=qq"
          . "&appid={$appid}"
          . "&redirect_uri=" . urlencode($callback);

// 输出登录链接
echo '<a href="' . $loginUrl . '">QQ登录</a>';
?>
PHP - 回调处理
<?php
// callback.php - 处理登录回调
if (isset($_GET['type']) && isset($_GET['code'])) {
    $type = $_GET['type'];
    $code = $_GET['code'];

    // 通过API获取access_token
    $tokenUrl = "https://您的域名/ajax.php"
              . "?act=gettoken&type={$type}"
              . "&appid={$appid}"
              . "&secret={$secret}"
              . "&code={$code}";

    $response = file_get_contents($tokenUrl);
    $data = json_decode($response, true);

    if (isset($data['access_token'])) {
        $token = $data['access_token'];
        // 获取用户信息
        $userUrl = "https://您的域名/ajax.php"
                 . "?act=getuserinfo&type={$type}"
                 . "&access_token={$token}";

        $userInfo = json_decode(file_get_contents($userUrl), true);
        // 处理用户登录逻辑...
        print_r($userInfo);
    }
}
?>

回调地址说明

回调地址(Redirect URI)是用户完成第三方平台授权后,系统将用户重定向回您网站的地址。该地址会携带授权码 code 参数。

注意事项
  • 回调地址必须以 http://https:// 开头
  • 回调地址必须在用户中心的应用设置中提前配置
  • 建议使用 HTTPS 协议以确保数据传输安全

回调参数

参数 类型 说明
type String 登录类型,如 qq、weixin、alipay 等
code String 授权码,用于换取 access_token,有效期通常为5分钟
state String 自定义状态参数(可选),原样返回,用于防止CSRF攻击

接口文档

发起登录

引导用户跳转到第三方平台进行授权登录。

GET /connect.php
用户点击登录按钮后,跳转至该地址发起第三方登录授权。

请求参数

参数类型必填说明
type String 登录类型:qq、weixin、alipay、weibo 等
appid String 应用的 AppID
redirect_uri String 授权回调地址,需 URL 编码
state String 自定义状态参数,回调时原样返回

获取 Access Token

在回调地址中,使用授权码换取 Access Token。

GET /ajax.php?act=gettoken
通过授权码 code 换取 access_token。

请求参数

参数类型必填说明
act String 固定值:gettoken
type String 登录类型
appid String 应用的 AppID
secret String 应用的 AppSecret
code String 回调时获取的授权码
redirect_uri String 授权回调地址,需与发起时一致

返回示例

JSON Response
{
    "code": 0,
    "msg": "success",
    "access_token": "xxxxxxxxxxxxxxxx",
    "refresh_token": "xxxxxxxxxxxxxxxx",
    "expires_in": 7200
}

获取用户信息

使用 Access Token 获取已授权用户的个人信息。

GET /ajax.php?act=getuserinfo
通过 access_token 获取用户基本信息。

请求参数

参数类型必填说明
act String 固定值:getuserinfo
type String 登录类型
access_token String 通过 gettoken 接口获取的 access_token

返回示例

JSON Response
{
    "code": 0,
    "msg": "success",
    "data": {
        "openid": "用户唯一标识",
        "type": "qq",
        "name": "用户昵称",
        "avatar": "https://..."
    }
}

错误码说明

错误码说明解决方案
0 请求成功 -
-1 参数错误 检查请求参数是否完整、格式是否正确
-2 AppID 或 AppSecret 无效 检查应用凭证是否正确
-3 授权码无效或已过期 重新发起登录请求获取新的 code
-4 Access Token 无效或已过期 使用 refresh_token 刷新或重新授权
-5 回调地址不匹配 确保回调地址与应用设置中一致
-6 该登录类型未启用 在应用设置中开启对应平台的登录
-7 请求频率过高 降低请求频率,稍后重试

常见问题

如何获取 AppID 和 AppSecret?

注册并登录用户中心,在「应用管理」中创建应用即可获取。

回调地址可以填写域名根目录吗?

可以,但不建议。建议填写具体处理回调逻辑的文件路径,如 https://yourdomain.com/callback.php

支持哪些第三方登录平台?

目前支持微信、QQ、支付宝、微博、百度、GitHub、Google、Facebook、Gitee 等 17+ 种主流社交平台。

Access Token 过期了怎么办?

Access Token 有效期为 7200 秒(2小时)。过期后可使用 refresh_token 刷新,或引导用户重新授权登录。

是否支持前后端分离项目?

支持。所有接口均为标准的 HTTP API,任何能发送 HTTP 请求的语言和框架都可以使用。

如何处理登录失败的情况?

当登录失败时,系统会返回相应的错误码和错误信息。您可以根据错误码进行相应的处理,如引导用户重新登录或检查参数是否正确。

如何保障用户数据的安全性?

我们采用 OAuth2.0 协议进行授权,所有数据传输均使用 HTTPS 加密。同时,我们不会存储用户的敏感信息,只存储必要的用户标识和基本信息。

如何测试登录功能?

您可以在用户中心的应用管理中获取测试账号,或使用真实的第三方账号进行测试。同时,我们提供了接口测试工具,方便您测试 API 的调用情况。

是否支持自定义登录页面?

支持。您可以根据自己的需求自定义登录页面的样式和流程,只需要按照 API 文档的要求发起登录请求即可。