首页 / 技术分享 /
国内支持OAuth授权获取用户信息的平台

国内支持OAuth授权获取用户信息的平台

DeepSeek

2026-01-01
14 次浏览
0 条评论

网站支持社交平台授权注册与登录,可以简化用户的登录流程,免密码快速通过授权登录网站。本文整理了国内提供授权获取用户信息的主流社交平台。

后端开发
OAuth
SNS授权登陆
PHP
分享:

国内支持OAuth授权获取用户信息的平台有很多,这里为你整理一个完整的列表:

📊 主流平台对比表

平台 OAuth支持 审核难度 用户基数 适合场景 备注
微信 ⭐⭐⭐⭐⭐ 困难 巨大 社交/电商/内容 需要企业资质
QQ ⭐⭐⭐⭐ 中等 巨大 游戏/娱乐/社交 个人可申请
微博 ⭐⭐⭐⭐ 容易 媒体/社交/内容 文档完善
支付宝 ⭐⭐⭐⭐ 困难 巨大 电商/支付/生活 需要签约
钉钉 ⭐⭐⭐ 中等 企业/办公 企业场景
GitHub ⭐⭐⭐⭐⭐ 开发者 技术社区 国际平台
Gitee ⭐⭐⭐⭐ 容易 开发者 技术社区 国内GitHub
小米 ⭐⭐⭐ 中等 中等 智能硬件/IoT 设备联动
华为 ⭐⭐⭐ 困难 硬件/云服务 企业合作
飞书 ⭐⭐⭐ 中等 增长快 企业协作 字节系

🎯 重点推荐平台

1. 微博(最简单)

特点:文档齐全,个人开发者可申请,审核快

申请地址https://open.weibo.com/

// 微博OAuth配置
define('WEIBO_CLIENT_ID', '');
define('WEIBO_CLIENT_SECRET', '');
define('WEIBO_REDIRECT_URI', 'https://你的域名.com/weibo-callback.php');

// API端点
define('WEIBO_AUTH_URL', 'https://api.weibo.com/oauth2/authorize');
define('WEIBO_TOKEN_URL', 'https://api.weibo.com/oauth2/access_token');
define('WEIBO_USER_URL', 'https://api.weibo.com/2/users/show.json');

2. 钉钉(企业场景)

特点:适合企业内部应用,API丰富

申请地址https://open.dingtalk.com/

// 钉钉OAuth配置
define('DINGTALK_APP_KEY', '');
define('DINGTALK_APP_SECRET', '');
define('DINGTALK_REDIRECT_URI', 'https://你的域名.com/dingtalk-callback.php');

// 支持扫码登录和密码登录两种方式

3. 飞书(字节系生态)

特点:文档现代化,功能丰富

申请地址https://open.feishu.cn/

// 飞书OAuth配置
define('FEISHU_APP_ID', '');
define('FEISHU_APP_SECRET', '');
define('FEISHU_REDIRECT_URI', 'https://你的域名.com/feishu-callback.php');

💡 微信生态(最重要的)

微信开放平台

申请难度:高,需要企业资质 适合:网站、APP、公众号等

// 微信开放平台OAuth
define('WECHAT_APP_ID', '');
define('WECHAT_APP_SECRET', '');
define('WECHAT_REDIRECT_URI', 'https://你的域名.com/wechat-callback.php');

// API端点
define('WECHAT_AUTH_URL', 'https://open.weixin.qq.com/connect/qrconnect');
define('WECHAT_TOKEN_URL', 'https://api.weixin.qq.com/sns/oauth2/access_token');
define('WECHAT_USER_URL', 'https://api.weixin.qq.com/sns/userinfo');

微信公众号

特点:可在微信内直接授权,无需跳转

// 公众号OAuth(静默授权)
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?" .
       "appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";

🎮 游戏娱乐类

Bilibili

特点:年轻用户群体,适合二次元、游戏社区

申请地址https://openhome.bilibili.com/

// B站OAuth配置
define('BILIBILI_CLIENT_ID', '');
define('BILIBILI_CLIENT_SECRET', '');
define('BILIBILI_REDIRECT_URI', 'https://你的域名.com/bilibili-callback.php');

// 可以获取用户基本信息、粉丝数等

TapTap

特点:游戏玩家社区,垂直度高

申请地址https://www.taptap.com/developer


🛠️ 开发者社区类

开源中国(OSChina)

特点:国内老牌开发者社区

申请地址https://www.oschina.net/openapi

思否(SegmentFault)

特点:技术问答社区

申请地址:联系客服申请


🏢 企业服务类

企业微信

特点:企业内部应用,可与微信互通

// 企业微信OAuth
define('QYWX_CORP_ID', '');
define('QYWX_AGENT_ID', '');
define('QYWX_SECRET', '');
define('QYWX_REDIRECT_URI', 'https://你的域名.com/qywx-callback.php');

金山云

特点:WPS、金山文档生态


🔧 技术实现模板

通用OAuth类(可扩展)

<?php
abstract class OAuthProvider {
    protected $client_id;
    protected $client_secret;
    protected $redirect_uri;

    public function __construct($config) {
        $this->client_id = $config['client_id'];
        $this->client_secret = $config['client_secret'];
        $this->redirect_uri = $config['redirect_uri'];
    }

    abstract public function getAuthUrl($state);
    abstract public function getAccessToken($code);
    abstract public function getUserInfo($access_token);
}

// 微博实现示例
class WeiboOAuth extends OAuthProvider {
    public function getAuthUrl($state) {
        $params = [
            'client_id' => $this->client_id,
            'redirect_uri' => $this->redirect_uri,
            'response_type' => 'code',
            'state' => $state,
            'scope' => 'email'
        ];
        return 'https://api.weibo.com/oauth2/authorize?' . http_build_query($params);
    }

    public function getAccessToken($code) {
        // 实现获取token逻辑
    }

    public function getUserInfo($access_token) {
        // 实现获取用户信息逻辑
    }
}
?>

统一登录页面

<!DOCTYPE html>
<html>
<head>
    <title>选择登录方式</title>
    <style>
        .login-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            max-width: 800px;
            margin: 50px auto;
        }
        .login-btn {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 30px;
            border: 2px solid #eee;
            border-radius: 10px;
            text-decoration: none;
            color: #333;
            transition: all 0.3s;
        }
        .login-btn:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        }
        .login-btn.wechat { border-color: #07C160; }
        .login-btn.qq { border-color: #12B7F5; }
        .login-btn.weibo { border-color: #E6162D; }
        .login-btn.gitee { border-color: #C71D6F; }
        .login-btn.dingtalk { border-color: #0086FA; }

        .icon {
            font-size: 40px;
            margin-bottom: 15px;
        }
    </style>
</head>
<body>
    <div class="login-grid">
        <a href="wechat-login.php" class="login-btn wechat">
            <div class="icon">💚</div>
            <h3>微信登录</h3>
            <p>使用微信账号快速登录</p>
        </a>

        <a href="qq-login.php" class="login-btn qq">
            <div class="icon">🐧</div>
            <h3>QQ登录</h3>
            <p>适合游戏娱乐用户</p>
        </a>

        <a href="weibo-login.php" class="login-btn weibo">
            <div class="icon">🧣</div>
            <h3>微博登录</h3>
            <p>快速接入,审核简单</p>
        </a>

        <a href="gitee-login.php" class="login-btn gitee">
            <div class="icon">💻</div>
            <h3>Gitee登录</h3>
            <p>开发者专属登录方式</p>
        </a>

        <a href="dingtalk-login.php" class="login-btn dingtalk">
            <div class="icon">📱</div>
            <h3>钉钉登录</h3>
            <p>企业用户最佳选择</p>
        </a>
    </div>
</body>
</html>

📦 一站式解决方案

1. Authing(推荐)

网址https://authing.cn

特点

  • 支持微信、QQ、微博、钉钉等20+平台
  • 提供统一API接口
  • 有PHP SDK
  • 免费额度足够小项目使用
// 使用Authing PHP SDK
composer require authing-sdk/php

use Authing\Auth\AuthenticationClient;

$client = new AuthenticationClient([
    'appId' => 'your_app_id',
    'appHost' => 'https://xxx.authing.cn'
]);

// 获取微信登录URL
$url = $client->buildAuthorizeUrl([
    'provider' => 'wechat:webpage',
    'redirectUri' => 'https://yourdomain.com/callback'
]);

2. 极验(GeeTest)

网址https://www.geetest.com/

特点:除了验证码,也提供社交登录

3. 又拍云联盟登录

网址https://www.upyun.com/products/open-sso

特点:集成多家平台


🔐 安全建议

必须实现的保护措施

1. **State参数验证**:防止CSRF攻击
2. **HTTPS强制**:生产环境必须使用
3. **令牌安全存储**:加密存储access_token
4. **权限最小化**:只请求必要的scope
5. **登录日志**:记录所有登录尝试
6. **频率限制**:防止暴力破解

会话管理

session_start();

// 安全的会话配置
ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_secure', 1); // HTTPS时启用
ini_set('session.use_strict_mode', 1);

// 生成CSRF token
function generateCSRFToken() {
    if (empty($_SESSION['csrf_token'])) {
        $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
    }
    return $_SESSION['csrf_token'];
}

🚀 部署建议

开发阶段

  1. 微博Gitee 开始,审核简单
  2. 使用本地测试回调地址
  3. 实现基本的OAuth流程

生产环境

  1. 必备:微信 + QQ(覆盖90%用户)
  2. 可选:微博、Gitee、钉钉(按需添加)
  3. 备用:邮箱/手机验证码登录

数据库设计

-- 用户主表
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(100),
    email VARCHAR(100),
    phone VARCHAR(20),
    created_at DATETIME
);

-- 第三方登录关联表
CREATE TABLE user_oauth (
    id INT PRIMARY KEY AUTO_INCREMENT,
    user_id INT,
    platform ENUM('wechat', 'qq', 'weibo', 'gitee', 'dingtalk'),
    openid VARCHAR(100),
    unionid VARCHAR(100),
    access_token TEXT,
    refresh_token VARCHAR(255),
    expires_at DATETIME,
    profile_json JSON,
    UNIQUE KEY uniq_platform_openid (platform, openid),
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

💰 成本考虑

平台 费用 审核时间 维护成本
微信 300元认证费 1-2周
QQ 免费 1-3天
微博 免费 即时
Gitee 免费 即时
钉钉 免费 1-3天

🎯 最终建议

个人项目/初创公司

  1. 首推微博:审核快,文档好
  2. 次选Gitee:开发者友好
  3. 备选QQ:覆盖广,但有审核

成熟产品

  1. 必须接入微信:用户基数大
  2. 配合QQ:覆盖年轻用户
  3. 按需添加:微博、钉钉等

企业/办公应用

  1. 钉钉/企业微信:首选
  2. 飞书:字节系生态
  3. 自定义OAuth:内部系统集成

总结:建议从 微博Gitee 开始练手,然后根据你的实际用户群体逐步接入更多平台。如果需要快速上线,可以使用 Authing 这样的第三方服务。

评论区 (0)

你需要先 登录 后才能发表评论。
还没有人评论,赶快成为第一个吧。

关于云信益站

云信益站是由荣县人创办的公益网站,集家乡宣传、技术分享与开发服务于一体。在这里,您可以探索荣县的美景、美食与历史,查询实用本地信息,学习软件开发技术。让我们以数字技术连接桑梓,赋能家乡发展。

联系站长

关注我们

© 2025 云信益站. 保留所有权利.