本项目将微信、QQ、微博、钉钉、飞书、企业微信、抖音、华为账号、小米账号等常见渠道的OAuth流程封装为可切换的演示实例。通过统一模式封装多家渠道,支持授权码模式、Session保存state防CSRF、统一回调脚本,未配置密钥的平台自动隐藏按钮。适合作为团队OAuth接入清单与可运行样板,便于快速集成到业务系统。
参考 gmail-oauth-login-php-cn-sample 的授权码模式、Session 保存 state 防 CSRF、统一回调脚本思路,将微信、QQ、微博、钉钉、飞书、企业微信、抖音、华为账号、小米账号等常见渠道的 OAuth 流程封装为可切换的演示实例。未在 config.php 中填写密钥的平台不会出现在首页按钮中,便于你只开启需要测试的渠道。
支付宝开放平台用户授权依赖 RSA2 签名 换 token,本目录不内置签名逻辑,请使用 alipay_oauth_note.php 中的说明与官方 SDK。
程序版本号:常量 SOCIAL_OAUTH_APP_VERSION(默认 inc/oauth_social_version.php;可在 config.php 中 define 覆盖);首页页脚展示。
各平台 API 申请与回调配置教程:见目录 docs/API申请指南/README.md(与 config.php 各区块注释中的控制台链接一致)。
oauth_start.php?p= 平台标识。state 防 CSRF、HTTPS 回调一致性、Session 安全等细节易被忽略。hash_equals;随机串优先 random_bytes)social-oauth-login-php-cn-sample 目录置于 Web 可访问路径(URL 路径建议不要含空格,与 Google 示例说明相同)。config.php,至少填写 OAUTH_REDIRECT_URI(一般为 https://你的域名/.../oauth_callback.php;仓库已带模板文件,可直接改)。OAUTH_REDIRECT_URI 登记为授权回调地址,并在 config.php 中填写对应常量(见首页列表或下表)。index.php,点击已配置的平台按钮完成授权;成功后用户信息保存在 $_SESSION['social_login'] 中(字段已做简单归一化,并含 profile_raw 供调试)。oauth_start.php?p=)| 平台 id | 说明 | config.php 常量 |
|---|---|---|
wechat |
微信开放平台网站应用扫码 | OAUTH_WECHAT_APPID, OAUTH_WECHAT_SECRET |
qq |
QQ 互联 | OAUTH_QQ_APPID, OAUTH_QQ_APPKEY |
weibo |
微博 | OAUTH_WEIBO_APPKEY, OAUTH_WEIBO_APPSECRET |
dingtalk |
钉钉浏览器 OAuth2 | OAUTH_DINGTALK_CLIENT_ID, OAUTH_DINGTALK_CLIENT_SECRET |
feishu |
飞书自建应用网页授权 | OAUTH_FEISHU_APP_ID, OAUTH_FEISHU_APP_SECRET |
work_wechat |
企业微信网页授权(见官方场景限制) | OAUTH_WW_CORP_ID, OAUTH_WW_CORP_SECRET, OAUTH_WW_AGENT_ID |
douyin |
抖音开放平台 | OAUTH_DOUYIN_CLIENT_KEY, OAUTH_DOUYIN_CLIENT_SECRET |
huawei |
华为账号 OAuth 2.0 | OAUTH_HUAWEI_CLIENT_ID, OAUTH_HUAWEI_CLIENT_SECRET |
xiaomi |
小米账号 | OAUTH_XIAOMI_APP_ID, OAUTH_XIAOMI_APP_SECRET |
| 支付宝 | 说明页 | OAUTH_ALIPAY_APP_ID(可选,仅用于说明页展示) |
| 文件 | 作用 |
|---|---|
docs/API申请指南/ |
各平台 API 申请地址与分步教程(入口 README.md) |
config.php |
本地配置(含各平台控制台链接注释) |
inc/oauth_social_version.php |
程序版本号默认值(加载于 config.php 之后) |
inc/oauth_common.php |
HTTP、随机串、JWT payload 解析等公共函数 |
inc/oauth_social_providers.php |
各平台授权 URL、换 token、拉取资料 |
inc/oauth_social.php |
注册表与 Session 字段归一化 |
oauth_start.php |
写入 pending state 并跳转授权页 |
oauth_callback.php |
校验 state、换 token、写 Session |
index.php |
演示首页 |
logout.php |
退出 Session |
alipay_oauth_note.php |
支付宝 RSA2 / SDK 接入说明 |
scope,需在开发者后台为应用申请对应权限,否则授权页可能报错。client_secret 等仅放服务端;生产环境请结合自有用户体系做绑定与审计,勿直接信任第三方返回的邮箱/手机号(平台文档亦常有提示)。Project: PHPDisk - 私有云存储解决方案
This is NOT a freeware, use is subject to license terms.
Website: https://www.phpdisk.com
Author: PHPDisk Team ( admin@phpdisk.com )
Copyright (C) 2008-2026 PHPDisk Team. All Rights Reserved.
如需定制功能,或查看更多示例与源码索引,请访问:https://code.phpdisk.com/?utm_source=social-oauth-php-cn-readme
Comments
No comments yet—be the first!