YurunOAuthLogin
PHP 第三方登录授权 SDK,集成了QQ、微信、微博、Github等常用接口。支持 php-fpm 和 Swoole,所有框架通用。QQ群:17916227
Install / Use
/learn @Yurunsoft/YurunOAuthLoginREADME
YurunOAuthLogin
介绍
YurunOAuthLogin 是一个 PHP 第三方登录授权 SDK,集成了 QQ、微信、微博、GitHub 等常用接口。
无框架依赖,支持所有框架,支持 Swoole 协程环境。
我们有完善的在线技术文档:http://doc.yurunsoft.com/YurunOAuthLogin
API 文档:https://apidoc.gitee.com/yurunsoft/YurunOAuthLogin
宇润PHP全家桶群:17916227
,如有问题会有人解答和修复。
大家在开发中肯定会对接各种各样的第三方平台,我个人精力有限,欢迎各位来提交 PR (GitHub),一起完善它,让它能够支持更多的平台,更加好用。
支持的登录平台
- QQ、QQ 小程序
- 微信网页扫码、微信公众号、微信小程序
- 支付宝网页、支付宝 APP、支付宝小程序
- 微博
- 百度
- GitHub
- Gitee
- Coding
- 开源中国(OSChina)
- CSDN
- GitLab
- 飞书
- 钉钉
- 企业微信
后续将不断添加新的平台支持,也欢迎你来提交PR,一起完善!
安装
在您的 composer.json 中加入配置:
PHP >= 5.5.0
{
"require": {
"yurunsoft/yurun-oauth-login": "~3.0"
}
}
PHP < 5.5.0
{
"require": {
"yurunsoft/yurun-oauth-login": "~2.0"
}
}
3.x 版本支持 PHP >= 5.5,持续迭代维护中
2.x 版本支持 PHP >= 5.4,支持长期 BUG 维护,保证稳定可用,停止功能性更新
代码实例
自 v1.2 起所有方法统一参数调用,如果需要额外参数的可使用对象属性赋值,具体参考 test 目录下的测试代码。
下面代码以 QQ 接口举例,完全可以把 QQ 字样改为其它任意接口字样使用。
实例化
$qqOAuth = new \Yurun\OAuthLogin\QQ\OAuth2('appid', 'appkey', 'callbackUrl');
登录
$url = $qqOAuth->getAuthUrl();
$_SESSION['YURUN_QQ_STATE'] = $qqOAuth->state;
header('location:' . $url);
回调处理
// 获取accessToken
$accessToken = $qqOAuth->getAccessToken($_SESSION['YURUN_QQ_STATE']);
// 调用过getAccessToken方法后也可这么获取
// $accessToken = $qqOAuth->accessToken;
// 这是getAccessToken的api请求返回结果
// $result = $qqOAuth->result;
// 用户资料
$userInfo = $qqOAuth->getUserInfo();
// 这是getAccessToken的api请求返回结果
// $result = $qqOAuth->result;
// 用户唯一标识
$openid = $qqOAuth->openid;
解决第三方登录只能设置一个回调域名的问题
// 解决只能设置一个回调域名的问题,下面地址需要改成你项目中的地址,可以参考test/QQ/loginAgent.php写法
$qqOAuth->loginAgentUrl = 'http://localhost/test/QQ/loginAgent.php';
$url = $qqOAuth->getAuthUrl();
$_SESSION['YURUN_QQ_STATE'] = $qqOAuth->state;
header('location:' . $url);
Swoole 协程环境支持
\Yurun\Util\YurunHttp::setDefaultHandler('Yurun\Util\YurunHttp\Handler\Swoole');
特别鸣谢
捐赠
<img src="https://raw.githubusercontent.com/Yurunsoft/YurunOAuthLogin/master/res/pay.png"/>开源不求盈利,多少都是心意,生活不易,随缘随缘……
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
